#DATE_FORMAT

DATE_FORMAT
DATE_FORMAT ( expr , format )

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)
%H 24进制小时(00...23)
%h 12进制小时(01...12)
%I 12进制小时(01...12)
%i 分钟(00...59)
%j 一年中的第几天(001...366)
%k 24进制小时(0...23)
%l 12进制小时(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
----------------------------------------------------------------
%
pdf-btn 下载文档
copy-btn 复制链接