Oracle日期、字符串格式化函数

格式化函数

函数 返回类型 描述 例子
to_char(timestamptext) text 把时间戳转换成字串 to_char(current_timestamp, 'HH12:MI:SS')
to_char(intervaltext) text 把时间间隔转为字串 to_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(inttext) text 把整数转换成字串 to_char(125, '999')
to_char(double precision,text) text 把实数/双精度数转换成字串 to_char(125.8, '999D9')
to_char(numerictext) text 把 numeric 转换成字串 to_char(numeric '-125.8', '999D99S')
to_date(texttext) date 把字串转换成日期 to_date('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(texttext) date 把字串转换成时间戳 to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_number(texttext) 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用于指定语言,解决月分无效的问题

猜你喜欢

转载自tzz6.iteye.com/blog/2207044