将日期型转换成字符串时,可以按新的格式显示。
如格式YYYY-MM-DD HH24:MM:SS表示“年-月-日 小时:分钟:秒”。Oracle的日期类型是包含时间在内的。
主要的日期格式字符的含义如下表所示:
代表的格式 |
例子 |
|
AM、PM |
上午、下午 |
08 AM |
D |
数字表示的星期(1~7) |
1,2,3,...,7 |
DD |
数字表示月中的日期(1~31) |
1,…,31 |
MM |
两位数的月份 |
01,02,12 |
Y、YY、YYY、YYYY |
年份的后几位 |
8,08,008,2008 |
RR |
解决Y2K问题的年度转换 |
|
DY |
简写的星期名 |
MON,TUE,FRI,… |
DAY |
全拼的星期名 |
MONDAY,TUESDAY,… |
MON |
简写的月份名 |
JAN,FEB,MAR,… |
MONTH |
全拼的月份名 |
JANUARY,FEBRUARY,… |
HH、HH12 |
12小时制的小时(1~12) |
1,12 |
HH24 |
24小时制的小时(0~23) |
0,1,23 |
MI |
分(0~59) |
0,59 |
SS |
秒(0~59) |
0,59 |
,. / - ; : |
||
‘TEXT’ |
引号中的文本原样显示 |
TEXT |
例1:将日期转换成带时间和星期的字符串并显示。
SELECT TO_CHAR(sysdate,'YYYY-MM-DD HH24:MI:SS AM DY') FROM dual;
结果为:
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MM:SS
-------------------------------------
2009-01-06 15:01:15 下午 星期二
例2:2008年8月8日为星期几?
SELECT TO_CHAR(TO_DATE('2008-08-08','YYYY-MM-DD'),'DY') FROM dual;
结果为:
TO_CHA ------ 星期五