将日期型转换成字符串时,能够按新的格式显示。spa
如格式YYYY-MM-DD HH24:MM:SS表示“年-月-日 小时:分钟:秒”。Oracle的日期类型是包含时间在内的。ci
主要的日期格式字符的含义以下表所示:字符串
代码table |
表明的格式date |
例子tab |
AM、PMdi |
上午、下午时间 |
08 AM字符 |
D数字 |
数字表示的星期(1~7) |
1, 2, 3, ..., 7 |
DD |
数字表示月中的日期(1~31) |
1, 2, 3, …, 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, 2, 3, …, 12 |
HH24 |
24小时制的小时(0~23) |
0, 1, 2, …, 23 |
MI |
分(0~59) |
0, 1, 2, …, 59 |
SS |
秒(0~59) |
0, 1, 2, …, 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 ------ 星期五