-- Start
所谓格式化日期指的是将日期转为字符串,或将字符串转为日期,下面几个函数可以用来格式化日期。
我们先来看看通过下面的 SQL 产生的结果吧,注意,由于语言环境的不同,下面的显示结果可能不同。
Format | Result |
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'
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 返回正确的结果。
如果你想精确匹配,你可以加上 FX修饰符,如: