oracle日期處理完全版_第1頁
oracle日期處理完全版_第2頁
oracle日期處理完全版_第3頁
oracle日期處理完全版_第4頁
oracle日期處理完全版_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、日期處理完全版TO_DATE格式    Day:         dd       number         12    dy       abbreviated    fri             day     

2、0;spelled out    friday                            ddspth   spelled out,   ordinal   twelfth    Month:       mm       nu

3、mber         03    mon      abbreviated    mar    month    spelled out    march      Year:                     

4、;         yy       two  digits    98    yyyy     four  digits   1998            24小時(shí)格式下時(shí)間范圍為: 0:00:00 - 23:59:59.    12小時(shí)格式下時(shí)間范圍為:

5、 1:00:00 - 12:59:59 .     1.    日期和字符轉(zhuǎn)換函數(shù)用法(to_date,to_char)         2.    select to_char( to_date(222,'J'),'Jsp')  from dual        顯示Two Hundred Twenty-Two   3.   

6、0;求某天是星期幾    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;     星期一    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;  &#

7、160;  monday       設(shè)置日期語言    ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN'    也可以這樣    TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')   4.    兩個(gè)日期間的天數(shù)    select

8、 floor(sysdate - to_date('20020405','yyyymmdd') from dual;   5.     時(shí)間為null的用法    select id, active_date from table1      UNION    select 1, TO_DATE(null) from dual;        注意要用TO_DATE(null) 

9、60; 6.      a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')    那么12月31號(hào)中午12點(diǎn)之后和12月1號(hào)的12點(diǎn)之前是不包含在這個(gè)范圍之內(nèi)的。    所以,當(dāng)時(shí)間需要精確的時(shí)候,覺得to_char還是必要的 7.      日期格式?jīng)_突問題    

10、0;     輸入的格式要看你安裝的ORACLE字符集的類型, 比如: US7ASCII, date格式的類型就是: '01-Jan-01'    alter system set NLS_DATE_LANGUAGE = American          alter session set NLS_DATE_LANGUAGE = American    或者在to_date中寫    select to_char(to_date

11、('2002-08-261999-09-03                   When we use TO_CHAR function, we get expected results of format from  current SQL statement:          SQL> alter session set nls_date_format = 'MM-D

12、D-YY'             Session altered.          SQL> select to_char(sysdate,'dd-mm-yyyy') from dual;             TO_CHAR(SYSDATE,'DD-MM-YYYY')      

13、60;        07-09-1999          SQL> alter session set nls_date_format = 'RR-MON-DD'              Session altered.          SQL> select to_char(sysdate,'dd-mo

14、n-yy') from dual;              TO_CHAR(SYSDATE,'DD-MON-YY')               07-sep-99          SQL> select to_char(sysdate,'dd-Mon-yy') from dual;    

15、;          TO_CHAR(SYSDATE,'DD-MON-YY')               07-Sep-99 8.    select count(*)     from ( select rownum-1 rnum            from all_obje

16、cts            where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-           02-01','yyyy-mm-dd')+1           )     

17、;where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )    not     in ( '1', '7' )        查找2002-02-28至2002-02-01間除星期一和七的天數(shù)    在前后分別調(diào)用DBMS_UTILITY.GET_TIME, 讓后將結(jié)果相減(得到的是1/100秒, 而不是毫秒). 

18、    9.    select months_between(to_date('01-31-1999','MM-DD-YYYY'),       to_date('12-31-1998','MM-DD-YYYY') "MONTHS" FROM DUAL;     1        select months_between

19、(to_date('02-01-1999','MM-DD-YYYY'),          to_date('12-31-1998','MM-DD-YYYY') "MONTHS" FROM DUAL;         1.03225806451613 10.     Next_day的用法    Next_day(

20、date, day)        Monday-Sunday, for format code DAY          Mon-Sun, for format code DY             1-7, for format code D    11          select to_char(sysda

21、te,'hh:mi:ss') TIME from all_objects    注意:第一條記錄的TIME 與最后一行是一樣的    可以建立一個(gè)函數(shù)來處理這個(gè)問題    create or replace function sys_date return date is     begin     return sysdate;     end;      &

22、#160;  select to_char(sys_date,'hh:mi:ss') from all_objects;  12.          獲得小時(shí)數(shù)                    SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer   

23、0;      SQL>   select sysdate ,to_char(sysdate,'hh')  from dual;                    SYSDATE              TO_CHAR(SYSDATE,'HH') 

24、0;        - -          2003-10-13 19:35:21  07                    SQL>   select sysdate ,to_char(sysdate,'hh24')  from dual;     

25、               SYSDATE              TO_CHAR(SYSDATE,'HH24')          - -          2003-10-13 19:35:21  19      &

26、#160;             獲取年月日與此類似 13.    年月日的處理    select older_date,             newer_date,             years,             m

27、onths,             abs(               trunc(                  newer_date-                  

28、0;   add_months( older_date,years*12+months )                    )               ) days       from ( select           tr

29、unc(months_between( newer_date, older_date )/12) YEARS,        mod(trunc(months_between( newer_date, older_date ),               12 )  MONTHS,                   

30、;  newer_date,                     older_date                from ( select hiredate older_date,                  &#

31、160;add_months(hiredate,rownum)+rownum newer_date                         from emp )            )   14.    處理月份天數(shù)不定的辦法    select to_char(add_months(la

32、st_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual   16.    找出今年的天數(shù)    select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual        閏年的處理方法    to_char( last_day( to_date('02

33、' | :year,'mmyyyy') ), 'dd' )    如果是28就不是閏年   17.    yyyy與rrrr的區(qū)別    'YYYY99 TO_C    - -    yyyy 99 0099    rrrr 99 1999    yyyy 01 0001    rrrr 01 2001   18.不同時(shí)區(qū)的處理   

34、60;select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate    from dual;    19.    5秒鐘一個(gè)間隔    Select TO_DATE(FLOOR(TO_CHAR(sysdate,'SSSSS')/300) * 300,'SSSSS') ,TO_CHAR(sysdate,'SSS

35、SS')     from dual          2002-11-1 9:55:00  35786     SSSSS表示5位秒數(shù)   20.    一年的第幾天    select TO_CHAR(SYSDATE,'DDD'),sysdate from dual     310  2002-11-6 10:03:51 

36、0; 21.計(jì)算小時(shí),分,秒,毫秒    select            Days,            A,            TRUNC(A*24)                   

37、                  Hours,            TRUNC(A*24*60 - 60*TRUNC(A*24)                 Minutes,            TR

38、UNC(A*24*60*60 - 60*TRUNC(A*24*60)           Seconds,            TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)   mSeconds    from    (    select            trunc(sysdate)             Day

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論