TO_DATE格式(以时间:2007-11-0213:45:25为例)
Year:
yytwodigits两位年显示值:07
yyythreedigits三位年显示值:007
yyyyfourdigits四位年显示值:2007
Month:
mmnumber两位月显示值:11
monabbreviated字符集表示显示值:11月,若是英文版,显示nov
monthspelledout字符集表示显示值:11月,若是英文版,显示november
Day:
ddnumber当月第几天显示值:02
dddnumber当年第几天显示值:02
dyabbreviated当周第几天简写显示值:星期五,若是英文版,显示fri
dayspelledout当周第几天全写显示值:星期五,若是英文版,显示friday
ddspthspelledout,ordinaltwelfth
Hour:
hhtwodigits12小时进制显示值:01
hh24twodigits24小时进制显示值:13
Minute:
mitwodigits60进制显示值:45
Second:
sstwodigits60进制显示值:25
其它
Qdigit季度显示值:4
WWdigit当年第几周显示值:44
Wdigit当月第几周显示值:1
24小时格式下时间范围为:0:00:00-23:59:59....
12小时格式下时间范围为:1:00:00-12:59:59....
1.日期和字符转换函数用法(to_date,to_char)
selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')asnowTimefromdual;//日期转化为字符串
selectto_char(sysdate,'yyyy')asnowYearfromdual;//获取时间的年
selectto_char(sysdate,'mm')asnowMonthfromdual;//获取时间的月
selectto_char(sysdate,'dd')asnowDayfromdual;//获取时间的日
selectto_char(sysdate,'hh24')asnowHourfromdual;//获取时间的时
selectto_char(sysdate,'mi')asnowMinutefromdual;//获取时间的分
selectto_char(sysdate,'ss')asnowSecondfromdual;//获取时间的秒
selectto_date('2004-05-0713:23:44','yyyy-mm-ddhh24:mi:ss')fromdual//
2.
selectto_char(to_date(222,'J'),'Jsp')fromdual
显示TwoHundredTwenty-Two
3.求某天是星期几
selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day')fromdual;
星期一
selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American')fromdual;
monday
设置日期语言
ALTERSESSIONSETNLS_DATE_LANGUAGE='AMERICAN';
也可以这样
TO_DATE('2002-08-26','YYYY-mm-dd','NLS_DATE_LANGUAGE=American')
4.两个日期间的天数
selectfloor(sysdate-to_date('20020405','yyyymmdd'))fromdual;
5.时间为null的用法
selectid,active_datefromtable1
UNION
select1,TO_DATE(null)fromdual;
注意要用TO_DATE(null)
6.月份差
a_datebetweento_date('20011201','yyyymmdd')andto_date('20011231','yyyymmdd')
那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。
所以,当时间需要精确的时候,觉得to_char还是必要的
7.日期格式冲突问题
输入的格式要看你安装的ORACLE字符集的类型,比如:US7ASCII,date格式的类型就是:'01-Jan-01'
altersystemsetNLS_DATE_LANGUAGE=American
altersessionsetNLS_DATE_LANGUAGE=American
或者在to_date中写
selectto_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American')fromdual;
新闻热点
疑难解答
图片精选