oracle日期处理完全版_第1页
oracle日期处理完全版_第2页
oracle日期处理完全版_第3页
oracle日期处理完全版_第4页
oracle日期处理完全版_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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小时格式下时间范围为: 0:00:00 - 23:59:59.    12小时格式下时间范围为:

5、 1:00:00 - 12:59:59 .     1.    日期和字符转换函数用法(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       设置日期语言    ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN'    也可以这样    TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')   4.    两个日期间的天数    select

8、 floor(sysdate - to_date('20020405','yyyymmdd') from dual;   5.     时间为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号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。    所以,当时间需要精确的时候,觉得to_char还是必要的 7.      日期格式冲突问题    

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间除星期一和七的天数    在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是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 与最后一行是一样的    可以建立一个函数来处理这个问题    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.          获得小时数                    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.    处理月份天数不定的办法    select to_char(add_months(la

32、st_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual   16.    找出今年的天数    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的区别    'YYYY99 TO_C    - -    yyyy 99 0099    rrrr 99 1999    yyyy 01 0001    rrrr 01 2001   18.不同时区的处理   

34、60;select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate    from dual;    19.    5秒钟一个间隔    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位秒数   20.    一年的第几天    select TO_CHAR(SYSDATE,'DDD'),sysdate from dual     310  2002-11-6 10:03:51 

36、0; 21.计算小时,分,秒,毫秒    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等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论