国产欧美一区二区精品行性色_91精品午夜在线观看_亚洲精品无码激情国产_91精品啪在线观看国产城中村_91看片国产一区二区色欲

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

Oracle學(xué)習(xí)筆記之日期函數(shù)

發(fā)布時(shí)間:  2012/8/22 16:44:49

-
 
Oracle日期函數(shù)學(xué)習(xí)時(shí),在教程有幾個(gè)實(shí)例如下:

1.Months_between(’01-sep-95’, ’11-jan-94’)  
2.結(jié)果是:19.6774194  
3.   
4.Add_months 在指定的月份上面增加相應(yīng)得月份  
5.例如:  
6.Add_months(’11-jan-94’, 6)  
7.結(jié)果是:11-jul-94  
8.   
9.Next_day 計(jì)算規(guī)定日期的后一個(gè)特定日期  
10.例如:  
11.Next_day(’01-sep-95’, ‘Friday’ )  
12.結(jié)果是:  
13.08-sep-95  
14.   
15.Last_day 指這個(gè)月最后一天  
16.例如:  
17.Last_day(’01-feb-95’) 

然而在SQL*plus輸入這些函數(shù)執(zhí)行時(shí),卻總得不到正確的結(jié)果,因?yàn)槿掌诘母袷綗o(wú)法識(shí)別。正確的用法應(yīng)該如下:

select MONTHS_BETWEEN('24-2月-2010','24-2月-2010') from dual。這樣寫(xiě)很不方便,為了避免出現(xiàn)這樣的問(wèn)題,在自己書(shū)寫(xiě)日期時(shí),最好用自己喜歡的方式書(shū)寫(xiě),并用to_date函數(shù)指定格式如:

1.select MONTHS_BETWEEN(to_date('20100224','yyyymmdd'),to_date('20100524','yyyymmdd')) from dual 

這里涉及到一個(gè)to_date函數(shù),它將輸入的字符串序列,轉(zhuǎn)換為指定格式的日期函數(shù),由此可得其它更為全面的實(shí)例為:
1.1.ADD_MONTHS   
2.增加或減去月份   
3.SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;   
2.TO_CHA   
3.------   
4.200002   
5.SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;   
2.TO_CHA   
3.------   
4.199910   
5.2.LAST_DAY   
6.返回日期的最后一天   
7.SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;   
2.TO_CHAR(SY TO_CHAR((S   
3.---------- ----------   
4.2004.05.09 2004.05.10   
5.SQL> select last_day(sysdate) from dual;   
6.LAST_DAY(S   
7.----------   
8.31-5月 -04   
9.3.MONTHS_BETWEEN(date2,date1)   
10.給出date2-date1的月份   
11.SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;   
2.MON_BETWEEN   
3.-----------   
4.9   
5.SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd')) mon_betw from dual;    6.MON_BETW   
7.---------   
8.-60   
9.注:SELECT months_between(SYSDATE, sysdate) same,   
10.months_between(SYSDATE, add_months(sysdate, -1)) big,   
11.months_between(SYSDATE, add_months(sysdate, 1))small   
12.FROM DUAL;   
13.SAME BIG SMALL   
14.0 1 -1   
15.4.NEW_TIME(date,'this','that')    16.給出在this時(shí)區(qū)=other時(shí)區(qū)的日期和時(shí)間    17.SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time    18.2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;    19.BJ_TIME LOS_ANGLES   
20.------------------- -------------------   
21.2004.05.09 11:05:32 2004.05.09 18:05:32   
22.5.NEXT_DAY(date,'day')    23.給出日期date和星期x之后計(jì)算下一個(gè)星期的日期   
24.SQL> select next_day('18-5月-2001','星期五') next_day from dual;    25.NEXT_DAY   
26.----------   
27.25-5月 -01   
28.注:返回指定日期后第一個(gè)n的日期,n為一周中的某一天。但是,需要注意的是n如果為字符的話,它的星期形式需要與當(dāng)前session默認(rèn)時(shí)區(qū)中的星期形式相同。   
29.例如:三思用的中文nt,nls_language值為SIMPLIFIED CHINESE   
30.SELECT NEXT_DAY(SYSDATE,5) FROM DUAL;   
31.SELECT NEXT_DAY(SYSDATE,'星期四') FROM DUAL;    32.兩種方式都可以取到正確的返回,但是:   
33.SELECT NEXT_DAY(SYSDATE,'Thursday') FROM DUAL;    34.則會(huì)執(zhí)行出錯(cuò),提供你說(shuō)周中的日無(wú)效,就是這個(gè)原因了。   
35.6.SYSDATE   
36.用來(lái)得到系統(tǒng)的當(dāng)前日期   
37.CURRENT_DATE 返回當(dāng)前session所在時(shí)區(qū)的默認(rèn)時(shí)間   
38.sysdate與current_date獲得的時(shí)間不一定相同,某些情況下current_date會(huì)比sysdate快一秒。經(jīng)過(guò)與xyf_tck(兄臺(tái)的大作Oracle的工作機(jī)制寫(xiě)的很好,深入淺出)的短暫交流,我們認(rèn)為current_date是將current_timestamp中毫秒四舍五入后的返回,雖然沒(méi)有找到文檔支持,但是想來(lái)應(yīng)該八九不離十。同時(shí),僅是某些情況下會(huì)有一秒的誤差,一般情況下并不會(huì)對(duì)你的操作造成影響,所以了解即可。   
39.SELECT SYSDATE,CURRENT_DATE FROM DUAL;   
40.SYSDATE CURRENT_DATE   
41.2008-12-23 PM 05:05:59 2008-12-23 PM 05:06:00   
42.SQL> select to_char(sysdate,'dd-mm-yyyy day') from dual;    43.TO_CHAR(SYSDATE,'   
44.-----------------   
45.09-05-2004 星期日   
46.trunc(date,fmt)按照給出的要求將日期截?cái)?如果fmt='mi'表示保留分,截?cái)嗝?nbsp;   47.SQL> select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh,    48.2 to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm from dual;    49.HH HHMM   
50.------------------- -------------------   
51.2004.05.09 11:00:00 2004.05.09 11:17:00   
52.7.TO_CHAR(date,'format')    53.SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;    54.TO_CHAR(SYSDATE,'YY   
55.-------------------   
56.2004/05/09 21:14:41   
57.8.TO_DATE(string,'format')    58.將字符串轉(zhuǎn)化為Oracle中的一個(gè)日期   
59.日期函數(shù):   
60.greatest(d1,d2,...dn) 給出的日期列表中最后的日期   
61.least(d1,k2,...dn) 給出的日期列表中最早的日期   
62.to_char(d [,fmt]) 日期d按fmt指定的格式轉(zhuǎn)變成字符串   
63.to_date(st [,fmt]) 字符串st按fmt指定的格式轉(zhuǎn)成日期值,若fmt忽略,st要用缺省格式   
64.round(d [,fmt]) 日期d按fmt指定格式舍入到最近的日期   
65.trunc(d [,fmt]) 日期d按fmt指定格式截?cái)嗟阶罱娜掌?nbsp;  
66.附:   
67.日期格式:   
68.--------------------------------   
69.格式代碼  說(shuō)明 舉例或可取值的范圍   
70.--------------------------------   
71.DD 該月某一天 1-3   
72.DY     三個(gè)大寫(xiě)字母表示的周幾 SUN,...SAT   
73.DAY     完整的周幾,大寫(xiě)英文 SUNDAY,...SATURDAY   
74.MM 月份 1-12   
75.MON     三個(gè)大寫(xiě)字母表示的月份 JAN,...DEC   
76.MONTH 完整 JANUARY,...DECEMBER   
77.RM 月份的羅馬數(shù)字 I,...XII   
78.YY或YYYY 兩位,四位數(shù)字年   
79.HH:MI:SS    時(shí):分:秒   
80.HH12或HH24   以12小時(shí)或24小時(shí)顯示   
81.MI       分   
82.SS       秒   
83.AM或PM    上下午指示符   
84.SP      后綴SP要求拼寫(xiě)出任何數(shù)值字段   
85.TH      后綴TH表示添加的數(shù)字是序數(shù) 4th,1st   
86.FM 前綴對(duì)月或日或年值,禁止填充   
87.---------------------------------   
88.9.求兩日期某一部分的差(比如秒)   
89.   直接用兩個(gè)日期相減(比如d1-d2=12.3)   
90.   SELECT (d1-d2)*24*60*60 vaule FROM DUAL;   
91.10.根據(jù)差值求新的日期(比如分鐘)   
92.   SELECT sysdate+8/60/24 vaule FROM DUAL;   
93.11.求不同時(shí)區(qū)時(shí)間   
94.  SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;    95. -----時(shí)區(qū)參數(shù),北京在東8區(qū)應(yīng)該是Ydt-------   
96.  AST ADT 大西洋標(biāo)準(zhǔn)時(shí)間   
97.  BST BDT 白令海標(biāo)準(zhǔn)時(shí)間   
98.  CST CDT 中部標(biāo)準(zhǔn)時(shí)間   
99.  EST EDT 東部標(biāo)準(zhǔn)時(shí)間   
100.  GMT 格林尼治標(biāo)準(zhǔn)時(shí)間   
101.  HST HDT 阿拉斯加—夏威夷標(biāo)準(zhǔn)時(shí)間   
102.  MST MDT 山區(qū)標(biāo)準(zhǔn)時(shí)間   
103.  NST 紐芬蘭標(biāo)準(zhǔn)時(shí)間   
104.  PST PDT 太平洋標(biāo)準(zhǔn)時(shí)間   
105.  YST YDT YUKON標(biāo)準(zhǔn)時(shí)間   
106.12 求某一時(shí)間之前之后的時(shí)間   
107.當(dāng)前時(shí)間減去7分鐘的時(shí)間   
108.select sysdate,sysdate - interval '7' MINUTE from dual    109.前時(shí)間減去7小時(shí)的時(shí)間   
110.select sysdate - interval '7' hour from dual    111.當(dāng)前時(shí)間減去7天的時(shí)間   
112.select sysdate - interval '7' day from dual    113.當(dāng)前時(shí)間減去7月的時(shí)間   
114.select sysdate,sysdate - interval '7' month from dual    115.當(dāng)前時(shí)間減去7年的時(shí)間   
116.select sysdate,sysdate - interval '7' year from dual    117.時(shí)間間隔乘以一個(gè)數(shù)字   
118.select sysdate,sysdate - 8 *interval '2' hour from dual    119.別的時(shí)間也可以做些類似的處理   
120.select to_date('2007-12-12','yyyy-mm-dd'),to_date('2007-12-12','yyyy-mm-dd') - interval '7' day from dual 
to_date函數(shù)對(duì)應(yīng)的另兩個(gè)函數(shù)是:

to_char用于將日期和數(shù)值轉(zhuǎn)換為字符,也可包含格式字符串

to_number用于將字符串轉(zhuǎn)換為數(shù)值,包含格式字符串


本文出自:億恩科技【www.cmtents.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線