YashanDB DATE_FORMAT函数

77 阅读2分钟

DATE_FORMAT函数将给定的参数expr按format定义的格式进行提取,返回VARCHAR类型的字符串。 expr的值为DATE类型或可以转换为DATE类型的其他类型,format必须是字符型或可以转换为字符串类型。

当expr的值为NULL时,函数返回NULL。

format

表示expr对应的format格式,以下为对应列表:

格式定义返回值
%a缩写的工作日名称(Sun..Sat)
%b缩写月份名称(Jan..Dec)
%c月份(1...12)
%D带有英文后缀的月份日期(0th、1st、2nd、3rd、…)
%d每月的第几天(01..31)
%e每月的第几天(1..31)
%f微秒(000000..999999)
%H24进制小时(00...23)
%h12进制小时(01...12)
%I12进制小时(01...12)
%i分钟(00...59)
%j一年中的第几天(001...366)
%k24进制小时(0...23)
%l12进制小时(1...12)
%M月份名称(January...December)
%m月份(01...12)
%p上午或是下午(AM or PM)
%r取12进制time带AM或PM(精确到秒)
%S秒数(00...59)
%s秒数(00...59)
%T取24进制时间(精确到秒)
%U一年中的第几周,周日为一周的第一天
%u一年中的第几周,周一为一周的第一天
%V一年中的第几周,周日为一周的第一天,一般与%X一起用
%v一年中的第几周,周一为一周的第一天,与%x一起用
%W星期名称(Sunday...Saturday)
%w一周中的第几天(0为周天,6为周六)
%X一周属于哪一年(四位),周天是一周中的第一天,一般与%V一起用
%x一周属于哪一年(四位),周一是一周中的第一天,一般与%v一起用
%Y四位年份
%y两位年份
%%输出%

如果输入format为NULL,则函数返回NULL。

如果输入format无法与format列表里的类型相匹配,则输出format对应的字符。

示例

SELECT DATE_FORMAT(NOW(), '%a') res FROM DUAL;
RES
----------------------------------------------------------------
Tue

SELECT DATE_FORMAT(NOW(), '%b') res FROM DUAL;
RES
----------------------------------------------------------------
Apr

SELECT DATE_FORMAT(NOW(), '%c') res FROM DUAL;
RES
----------------------------------------------------------------
4

SELECT DATE_FORMAT(NOW(), '%D') res FROM DUAL;
RES
----------------------------------------------------------------
12th

SELECT DATE_FORMAT(NOW(), '%%') res FROM DUAL;
RES
----------------------------------------------------------------
%