在Oracle中处理日期大全.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Oracle中处理日期大全

在Oracle中处理日期大全   TO_DATE格式 Day:? dd number 12? dy abbreviated fri? day spelled out friday? ddspth spelled out, ordinal twelfth? Month:? mm number 03? mon abbreviated mar? month spelled out march? Year:? yy two digits 98? yyyy four digits 1998?   24小时格式下时间范围为: 0:00:00 - 23:59:59....   12小时格式下时间范围为: 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.求某天是星期几 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;?? monday??   设置日期语言 ALTER SESSION SET NLS_DATE_LANGUAGE=AMERICAN;   也可以这样 TO_DATE (2002-08-26, YYYY-mm-dd, NLS_DATE_LANGUAGE = American)   4.两个日期间的天数 select floor(sysdate - to_dateyyyymmdd)) from dual;   5. 时间为null的用法 select id, active_date from table1?? UNION?? select 1, TO_DATE(null) from dual;??   注意要用TO_DATE(null)   6.a_date between to_dateyyyymmdd) and to_dateyyyymmdd)   那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。   所以,当时间需要精确的时候,觉得to_char还是必要的   7. 日期格式冲突问题   输入的格式要看你安装的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(2002-08-26,yyyy-mm-dd),day,NLS_DATE_LANGUAGE = American) from dual;   注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,   可查看 select * from nls_session_parameters?? select * from V$NLS_PARAMETERS??  8. select count(*)?? from ( select rownum-1 rnum?? from all_objects?? where rownum = to_date(2002-02-28,yyyy-mm-dd) - to_date(2002-?? 02-01,yyyy-mm-dd)+1?? )?? 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秒, 而不是毫秒).   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(to_date(02-01-1999,MM-DD-Y

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档