将日期型转换成字符串时,可以按新的格式显示。
如格式YYYY-MM-DD HH24:MM:SS表示“年-月-日 小时:分钟:秒”。Oracle的日期类型是包含时间在内的。
主要的日期格式字符的含义如下表所示:
代码
| 代表的格式
| 例子
|
AM、PM | 上午、下午 | 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
------
星期五