无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

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

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

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

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

    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 計算規(guī)定日期的后一個特定日期  
    10.例如:  
    11.Next_day(’01-sep-95’, ‘Friday’ )  
    12.結(jié)果是:  
    13.08-sep-95  
    14.   
    15.Last_day 指這個月最后一天  
    16.例如:  
    17.Last_day(’01-feb-95’) 

    然而在SQL*plus輸入這些函數(shù)執(zhí)行時,卻總得不到正確的結(jié)果,因為日期的格式無法識別。正確的用法應(yīng)該如下:

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

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

    這里涉及到一個to_date函數(shù),它將輸入的字符串序列,轉(zhuǎn)換為指定格式的日期函數(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時區(qū)=other時區(qū)的日期和時間    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之后計算下一個星期的日期   
    24.SQL> select next_day('18-5月-2001','星期五') next_day from dual;    25.NEXT_DAY   
    26.----------   
    27.25-5月 -01   
    28.注:返回指定日期后第一個n的日期,n為一周中的某一天。但是,需要注意的是n如果為字符的話,它的星期形式需要與當(dāng)前session默認(rèn)時區(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.則會執(zhí)行出錯,提供你說周中的日無效,就是這個原因了。   
    35.6.SYSDATE   
    36.用來得到系統(tǒng)的當(dāng)前日期   
    37.CURRENT_DATE 返回當(dāng)前session所在時區(qū)的默認(rèn)時間   
    38.sysdate與current_date獲得的時間不一定相同,某些情況下current_date會比sysdate快一秒。經(jīng)過與xyf_tck(兄臺的大作Oracle的工作機制寫的很好,深入淺出)的短暫交流,我們認(rèn)為current_date是將current_timestamp中毫秒四舍五入后的返回,雖然沒有找到文檔支持,但是想來應(yīng)該八九不離十。同時,僅是某些情況下會有一秒的誤差,一般情況下并不會對你的操作造成影響,所以了解即可。   
    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)按照給出的要求將日期截斷,如果fmt='mi'表示保留分,截斷秒    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中的一個日期   
    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指定格式截斷到最近的日期   
    66.附:   
    67.日期格式:   
    68.--------------------------------   
    69.格式代碼  說明 舉例或可取值的范圍   
    70.--------------------------------   
    71.DD 該月某一天 1-3   
    72.DY     三個大寫字母表示的周幾 SUN,...SAT   
    73.DAY     完整的周幾,大寫英文 SUNDAY,...SATURDAY   
    74.MM 月份 1-12   
    75.MON     三個大寫字母表示的月份 JAN,...DEC   
    76.MONTH 完整 JANUARY,...DECEMBER   
    77.RM 月份的羅馬數(shù)字 I,...XII   
    78.YY或YYYY 兩位,四位數(shù)字年   
    79.HH:MI:SS    時:分:秒   
    80.HH12或HH24   以12小時或24小時顯示   
    81.MI       分   
    82.SS       秒   
    83.AM或PM    上下午指示符   
    84.SP      后綴SP要求拼寫出任何數(shù)值字段   
    85.TH      后綴TH表示添加的數(shù)字是序數(shù) 4th,1st   
    86.FM 前綴對月或日或年值,禁止填充   
    87.---------------------------------   
    88.9.求兩日期某一部分的差(比如秒)   
    89.   直接用兩個日期相減(比如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.求不同時區(qū)時間   
    94.  SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;    95. -----時區(qū)參數(shù),北京在東8區(qū)應(yīng)該是Ydt-------   
    96.  AST ADT 大西洋標(biāo)準(zhǔn)時間   
    97.  BST BDT 白令海標(biāo)準(zhǔn)時間   
    98.  CST CDT 中部標(biāo)準(zhǔn)時間   
    99.  EST EDT 東部標(biāo)準(zhǔn)時間   
    100.  GMT 格林尼治標(biāo)準(zhǔn)時間   
    101.  HST HDT 阿拉斯加—夏威夷標(biāo)準(zhǔn)時間   
    102.  MST MDT 山區(qū)標(biāo)準(zhǔn)時間   
    103.  NST 紐芬蘭標(biāo)準(zhǔn)時間   
    104.  PST PDT 太平洋標(biāo)準(zhǔn)時間   
    105.  YST YDT YUKON標(biāo)準(zhǔn)時間   
    106.12 求某一時間之前之后的時間   
    107.當(dāng)前時間減去7分鐘的時間   
    108.select sysdate,sysdate - interval '7' MINUTE from dual    109.前時間減去7小時的時間   
    110.select sysdate - interval '7' hour from dual    111.當(dāng)前時間減去7天的時間   
    112.select sysdate - interval '7' day from dual    113.當(dāng)前時間減去7月的時間   
    114.select sysdate,sysdate - interval '7' month from dual    115.當(dāng)前時間減去7年的時間   
    116.select sysdate,sysdate - interval '7' year from dual    117.時間間隔乘以一個數(shù)字   
    118.select sysdate,sysdate - 8 *interval '2' hour from dual    119.別的時間也可以做些類似的處理   
    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ù)對應(yīng)的另兩個函數(shù)是:

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

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


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

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

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

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