欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

说说 Oracle 的时间格式化参数以及在 TO_CHAR() 与 TO_DATE() 中的应用

程序员文章站 2022-04-21 14:59:19
...

说说 Oracle 的时间格式化参数以及在 TO_CHAR() 与 TO_DATE() 中的应用

Oracle 提供了一系列的时间格式化参数,用于对时间进行格式化处理。下面首先介绍那些常用的时间格式化参数。

1 时间格式化参数

跨度 参数 说明 示例
世纪 CC 第几世纪,格式为两位。 21
年份 YYYY 4 位年份。 2020
年份 Y,YYY 4 位年份,第 1 位之后,加逗号。 2,020
年份 YYY 年份后三位。 020,完整年份为 2020。
年份 YY 年份后两位。 20,完整年份为 2020。
年份 Y 年份最后一位。 0,完整年份为 2020。
年份 YEAR 年份英文表示形式,全大写。 TWENTY NINETEEN,入参为 2019。
年份 Year 年份英文表示形式,首字母大写。 Twenty Nineteen,入参为 2019。
季度 Q 第几季度,格式为一位。 3
月份 MM 两位月份。 12
月份 MONTH 或 Month 或 Mon 字符表示的月份 12月,因为中文没有区分大小写以及月份缩写,所以这些参数在中文中所表示的值是相同的。
月份 RM 罗马数字表示的月份。 XII,入参为 12 月份。
WW 本年第几周。 52
W 本月第几周。 3
DD 本月第几天。 25
D 本周第几天。 6
DAY 或 Day 或 DY 或 Dy 周几的文字表述。 星期五
J 从公元前 4713 年 1 月 1 日至今,已经经过多少天。 2458850
小时 HH24 24 小时制中的小时,两位。 22
小时 HH 12 小时制中的小时,两位。 10
分钟 MI 分钟,两位。 51
SS 秒数,两位。 39
SSSSS 从凌晨零点开始,所经过的秒数。 42699
后缀 AM 或 A.M. 或 PM 或 P.M. 依据入参,输出“上午” 或“下午”。 上午
后缀 AD 或 A.D. 或 BC 或 B.C. 依据入参,输出“公元” 或“公元前” 公元
后缀 TH 为日期加上英文后缀,需要配合 DD,形如 DDTH 27TH
后缀 SP 日期显示为英文拼写形式,需要配合 SP,形如 SPTH TWENTY-SEVEN

2 TO_CHAR 函数

语法为:TO_CHAR(x[,format])。它可以将时间值转换为字符串。format 就是时间格式化参数。

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

运行结果:

2019-12-30 14:36:22

3 TO_DATE 函数

语法为:TO_DATE (x[,format])。它可以将字符串转换为 Date 类型的值。如果没有指定 format 参数,那么会使用默认的数据库格式。

select to_date('2020-10-10 23:13:03','YYYY-MM-DD HH24:MI:SS') from dual;

运行结果:

2020-10-10 23:13:03

4 组合使用 TO_CHAR 函数与 TO_DATE 函数

组合它们,可以把一种时间格式的字符串,转换为另一种格式。比如下面的示例:

select to_char(to_date('2020-10-10','YYYY-MM-DD'),'YYYY.MM.DD') from dual;

运行结果:

2020.10.10

也可以只显示字符串中的部分时间内容:

select to_char(to_date('2020-10-10','YYYY-MM-DD'),'MM-DD') from dual;

运行结果:

10-10

相关标签: Oracle