暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 日期格式化输出及转换to_date、to_char

原创 章芋文 2019-09-25
6059

日期类型的格式控制符

符号

说明

转换是否可逆

示例

"" ""(空格)、""-""(减号)、

""\""、""/"" 、"":""、

"",""、"".""、"";""

分隔符

-

""text""

文本类型

文本类型,作为输出参数时,输出引号中包含的内容;作为输入参数时,跳过引号中的内容,忽略空格。

select to_char(sysdate, '""Hello world!""') from dual;

AM、PM

上午和下午指示符

select to_char(systimestamp, 'HH12:MI:SS AM') from dual;

CC

世纪

select to_char(systimestamp, 'CC') from dual;

DAY

星期天全称

select to_char(systimestamp, 'DAY') from dual;

DY

星期天简称

select to_char(systimestamp, 'DY') from dual;

DDD

一年中的第几天

select to_char(to_date('2018-01-07', 'YYYY-MM-DD'), 'DDD') from dual;

DD

当前月中的第几天

select to_char(to_date('2018-01-07', 'YYYY-MM-DD'), 'DD') from dual;

D

当前周中的第几天

select to_char(to_date('2018-01-07', 'YYYY-MM-DD'), 'D') from dual;

FF3、

FF6、

FF(默认FF6)

秒的小数部分

select to_char(systimestamp, 'FF3') from dual;

HH12、

HH24 、

HH(默认HH12)

12小时制/24小时制

select to_char(systimestamp, 'HH,HH12,HH24') from dual;

MI

时间的分钟数(0 ~ 59)

-

MM

日期的月份(1 ~ 12)

-

MONTH

日期中月份全称

select to_char(systimestamp, 'MONTH, MON') from dual;

MON

日期中月份简称

-

Q

当前日期的季度(1 ~ 4)

-

SSSSS

一天中已经逝去的秒数(0 ~ 86400 - 1)

-

SS

时间中的秒数(0 ~ 59)

-

WW

当前日期为该年份的week数,即当年的第几周,第一周从当年第一天计算起,每周7天

-

W

当前日期为该月份的week数,即当月的第几周,第一周从当月第一天计算起,每周7天

-

YYYY

四位年份

-

YYY

三位年份,如2018年可以写作018

-

YY

两位年份,如2018年可以写作18

-

Y

一位年份,如2018年可以写作8

select to_char(systimestamp, 'Y') from dual;

日期类型

默认输出格式

DATETIME

YYYY-MM-DD HH24:MI:SS

TIMESTAMP

YYYY-MM-DD HH24:MI:SS.FF

TIMESTAMP WITH TIME ZONE

YYYY-MM-DD HH24:MI:SS.FF TZH:TZM

TIMESTAMP WITH LOCAL TIME ZONE

YYYY-MM-DD HH24:MI:SS.FF

示例

通过格式控制符的描述,可以用to_char函数指定时期类型的输出格式,如下示例:

SELECT to_char(sysdate, 'MON-YY-DD') FROM dual;


TO_CHAR(SYSDATE, 'MON-YY-DD')

-----------------------------

JAN-18-07

1 rows fetched.


SELECT to_char(sysdate, 'MON-YY-DD HH:MI:SS AM') FROM dual;


TO_CHAR(SYSDATE, 'MON-YY-DD HH

-------------------------------

JAN-18-07 05:01:15 AM

1 rows fetched.

日期类型默认输出格式参见以下示例:

SELECT sysdate, systimestamp FROM dual;


SYSDATE                SYSTIMESTAMP

---------------------------------------------------

2018-01-07 17:18:18    2018-01-07 17:18:18.230000

1 rows fetched.

使用格式控制符将一个字符串转化为日期类型:

SELECT to_date('07-JAN-2018', 'DD-MON-YYYY') FROM dual;


TO_DATE('07-JAN-2018', 'DD-MON-YYYY')

-------------------------------------

2018-01-07 00:00:00

1 rows fetched.

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论