日期:2014-05-16  浏览次数:20424 次

ORACLE日期问题

?? ? ?1、转换函数
?????? 与date操作关系最大的就是两个转换函数:to_date(),to_char()
to_date() 作用将字符类型按一定格式转化为日期类型:
具体用法:to_date('2004-11-27','yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。
如;to_date('2004-11-27 13:34:43', 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间

????? 多种日期格式:

????? YYYY:四位表示的年份?
YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪?
MM:01~12的月份编号?
MONTH:九个字符表示的月份,右边用空格填补?
MON:三位字符的月份缩写?
WW:一年中的星期?
D:星期中的第几天?
DD:月份中的第几天?
DDD:年所中的第几天?
DAY:九个字符表示的天的全称,右边用空格补齐?
HH,HH12:一天中的第几个小时,12进制表示法?
HH24:一天中的第几个小时,取值为00~23?
MI:一小时中的分钟?
SS:一分钟中的秒?
SSSS:从午夜开始过去的秒数?

to_char():将日期转按一定格式换成字符类型
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;

TIME
-------------------
2004-10-08 15:22:58

即把当前时间按yyyy-mm-dd hh24:mi:ss格式转换成字符类型

在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 .... ?

[ZT]日期和??函???
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_date('20020405','yyyymmdd')) from dual; ?

5. 时间为null的用法 ?