格式化函数
to_char(timestamp, text) | text | 把时间戳转换成字串 | to_char(current_timestamp, 'HH12:MI:SS') |
to_char(interval, text) | text | 把时间间隔转为字串 | to_char(interval '15h 2m 12s', 'HH24:MI:SS') |
to_char(int, text) | text | 把整数转换成字串 | to_char(125, '999') |
to_char(double precision,text) | text | 把实数/双精度数转换成字串 | to_char(125.8, '999D9') |
to_char(numeric, text) | text | 把 numeric 转换成字串 | to_char(numeric '-125.8', '999D99S') |
to_date(text, text) | date | 把字串转换成日期 | to_date('05 Dec 2000', 'DD Mon YYYY') |
to_timestamp(text, text) | date | 把字串转换成时间戳 | to_timestamp('05 Dec 2000', 'DD Mon YYYY') |
to_number(text, text) | numeric | 把字串转换成 numeric | to_number('12,454.8-', '99G999D9S') |
用于日期/时间格式化的模板
HH | 一天的小时数 (01-12) |
HH12 | 一天的小时数 (01-12) |
HH24 | 一天的小时数 (00-23) |
MI | 分钟 (00-59) |
SS | 秒 (00-59) |
MS | 毫秒 (000-999) |
US | 微秒 (000000-999999) |
SSSS | 午夜后的秒 (0-86399) |
AM 或 A.M. 或 PM 或 P.M. | 正午标识(大写) |
am 或 a.m. 或 pm 或 p.m. | 正午标识(小写) |
Y,YYY | 带逗号的年(4 和更多位) |
YYYY | 年(4和更多位) |
YYY | 年的后三位 |
YY | 年的后两位 |
Y | 年的最后一位 |
BC 或 B.C. 或 AD 或 A.D. | 纪元标识(大写) |
bc 或 b.c. 或 ad 或 a.d. | 纪元标识(小写) |
MONTH | 全长大写月份名(空白填充为9字符) |
Month | 全长混合大小写月份名(空白填充为9字符) |
month | 全长小写月份名(空白填充为9字符) |
MON | 大写缩写月份名(3字符) |
Mon | 缩写混合大小写月份名(3字符) |
mon | 小写缩写月份名(3字符) |
MM | 月份号(01-12) |
DAY | 全长大写日期名(空白填充为9字符) |
Day | 全长混合大小写日期名(空白填充为9字符) |
day | 全长小写日期名(空白填充为9字符) |
DY | 缩写大写日期名(3字符) |
Dy | 缩写混合大小写日期名(3字符) |
dy | 缩写小写日期名(3字符) |
DDD | 一年里的日子(001-366) |
DD | 一个月里的日子(01-31) |
D | 一周里的日子(1-7;周日=1) |
W | 一个月里的周数(1-5)(第一周从该月第一天开始) |
WW | 一年里的周数(1-53)(第一周从该年的第一天开始) |
IW | ISO 一年里的周数(第一个星期四在第一周里) |
CC | 世纪(2 位) |
J | 儒略日(自公元前4712年1月1日来的天数) |
Q | 季度 |
RM | 罗马数字的月份(I-XII;I=JAN)(大写) |
rm | 罗马数字的月份(I-XII;I=JAN)(小写) |
TZ | 时区字串 (大写) |
tz | 时区字串 (小写) |
例子:
--美式时间 select to_date('Aug 29 2014 1:54PM', 'Month DD YYYY hh:miam' ,'nls_date_language=American') tm from users; --中式时间 select to_date('6月 29 2014 1:54', 'Month DD YYYY hh24:mi') tm from users;
注意:nls_date_language=American用于指定语言,解决月分无效的问题