格式化日期指的是将日期转为字符串,或将字符串转为日期,下面几个函数可以用来格式化日期
TO_CHAR(datetime, 'format')
TO_DATE(character, 'format')
TO_TIMESTAMP(character, 'format')
TO_TIMESTAMP_TZ(character, 'format')
SQL 产生的结果
SELECT TO_CHAR(current_timestamp, 'format') FROM DUAL;
Format | List item |
---|
YYYY-MM-DD | 2015-06-15 |
YYYY-MON-DD | 2015-JUN-15 |
YYYY-MM-DD HH24:MI:SS FF3 | 2015-06-15 13:18:10 700 |
YYYY-MM-DD HH24:MI:SS FF3 TZR | 2015-06-15 13:18:10 700 +08:00 |
DS | 6/15/2015 |
DL | Monday, June 15, 2015 |
TS | 1:18:10 PM |
Oracle 支持哪些格式呢?看看下面的表格吧
Format | Description |
---|
Y | 年的最后一位数字,如:5 |
YY | 年的最后两位数字,如:15 |
YYY | 年的最后三位数字,如:015 |
YYYY | 年,如:2015 |
Y,YYY | 年用逗号分割 |
SYYYY | 年 |
YEAR | 年拼写,如:TWENTY FIFTEEN |
SYEAR | 年拼写,如:TWENTY FIFTEEN |
I | ISO年的最后一位数字,如:5 |
IY | ISO年的最后两位数字,如:15 |
IYY | ISO年的最后三位数字,如:015 |
IYYY | ISO年,如:2015 |
RR | |
两位数字年,如:15 | |
RRRR | |
四位数字年,如:2015 | |
| |
---|
MM | Month (01-12) |
MON | 月份简称,如:JUN |
MONTH | 月份全称,如:JUNE |
RM | 罗马数字月份 |
| |
---|
D | Day of week (1-7) |
DD | Day of month (1-31) |
DDD | Day of year (1-366) |
| |
---|
HH | Hour of day (1-12) |
HH12 | Hour of day (1-12) |
HH24 | Hour of day (0-23) |
MI | Minute (0-59) |
SS | Second (0-59) |
SSSSS | Seconds past midnight |
FF [1…9] | 毫秒 |
| |
---|
DS | 日期简称,如:6/12/2015 |
DL | 日期全称,如:Friday, June 12, 2015 |
TS | 时间简称,如:5:18:03 PM |
| |
---|
CC | 世纪,如:21 |
SCC | 世纪,如:21 |
Q | Quarter of year (1, 2, 3, 4) |
W | Week of month (1-5) |
WW | Week of year (1-53) |
IW | ISO Week of year (1-52 or 1-53) |
DY | 星期简称,如:Fri |
DAY | 星期全称,如:Friday |
| |
---|
AM | A.M. |
PM | P.M. |
AD | A.D. |
BC | B.C. |
TZD | 夏令时 |
TZR | 时区 |
TZH | 时区之时差 |
TZM | 时区之分钟差 |
EE | era 全称 |
E | era 简称 |
J | The number of days since January 1, 4712 BC |
FM | 去掉首尾空格 |
FX | 精确匹配 |
X | 秒和毫秒分隔符 |
TH | DDTH --> 4th |
SP | DDSP -->FOUR |
SPTH | DDSPTH --> FOURTH |
THSP | DDTHSP --> FOURTH |
默认情况下,Oracle 格式化日期时,有一定的容错性,如下面的 SQL 返回正确的结果。
select to_date('20150612', 'YYYY/MM/DD') from dualselect to_date('2015#06#12', 'YYYY/MM/DD') from dual
如果你想精确匹配,你可以加上 FX修饰符,如:
select to_date('2015/06/12', 'FXYYYY/MM/DD') from dual
原文地址:原文地址