YashanDB DATE_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
----------------------------------------------------------------
%