「MySQL」日期时间格式化函数 DATE
时间:2025-06-24 12:29:14 来源:新华社
【字体:  

目录。

一、DATE_FORMAT()语法。

二、详细说明格式化字符串。

三、常见日期时间格式的组合。

四、业务场景。

五、总结。


一、DATE_FORMAT()语法。

DATE_FORMAT()。是MySQL中格式化日期时间的函数:

语法。DATE_FORMAT(date, format_string)。

  • date。:需要格式化的日期时间值,一般需要格式化的日期时间类型(datetime),但也可以是日期时间形式的字符串。

  • format_string。:格式化字符串󿀌格式化输出形式用于指定日期和时间。

注1。:MySQL允许您格式化特定日期格式的字符串,但其他数据库的格式化函数不一定支持,比如Clickhouse。formatDateTime()。注2。:MySQL格式化字符串时,日期时间格式不固定,您可以使用许多特殊字符来分隔日期时间,比如:。 /。*。-。<等,但不能是空格,按照MySQL。YY MM DD HH MM SS。顺序识别字符串中的数字。

-- 例如,以下SQL语句的执行结果相同,都是 "2024,December,31st"
SELECT DATE_FORMAT( '24-12-31', '%Y,%M,%D') AS format_date。
SELECT DATE_FORMAT( '2024-12-31', '%Y,%M,%D') AS format_date。
SELECT DATE_FORMAT( '2024/12/31', '%Y,%M,%D') AS format_date。
SELECT DATE_FORMAT( '2024*12*31', '%Y,%M,%D') AS format_date。
SELECT DATE_FORMAT( '24<<12<<31', '%Y,%M,%D') AS format_date。
-- 如果使用空间间隔࿰,c;会议执行失败󿀌不会报错,NULL输出结果。
SELECT DATE_FORMAT( '24 12 31', '%Y,%M,%D') AS format_date。

二、详细说明格式化字符串。

格式。含义。
%Y。年份:4位数字表示󿀌eg: 2024。
%y。年份:2位数字表示󿀌eg: 24。
%M。月:全英语拼写表示�eg: June。
%m。月份:2位数字表示󿀌01-12,eg: 06。
%D。天数:两位数字表示󿀌01-31,eg: 15。
%d。天数:英语第几天说󿀌范围 1st-31th󿀌eg: 1st, 2nd, 3rd, 15th。
%H。小时:两位数字表示󿀌00-23,eg: 23。
%i。分钟:两位数字表示󿀌00-59,eg: 59。
%S OR %s。秒:两位数字表示󿀌00-59,eg: 16。
%W。星期:全英语拼写表示�eg: Saturday。
%w。星期:1位数字表示󿀌eg: 6。
%T。完整的时间格式,相当于 %H:%i%s 或 %H:%i:%S,范围00:00:00-23:59:59,eg: 15:30:36。

注3。:大小写的形式%%I 和%t毫无意义。

三、常见日期时间格式的组合。

常见的日期时间格式化形式基本如下: %Y,%M,%D。%Y-%m-%d %H:%i:%s。%Y/%m/%d。%W,%M,%D。

  • SQL语句。

SELECT '%Y-%m-%d %H:%i:%s' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%Y-%m-%d %H:%i:%s') AS format_date UNION ALL。
SELECT '%Y,%M,%D' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%Y,%M,%D') AS format_date UNION ALL。
SELECT '%W,%M,%D' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%W,%M,%D') AS format_date UNION ALL。
SELECT '%y/%m/%d' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%y/%m/%d') AS format_date UNION ALL。
SELECT '%H:%i:%s' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%H:%i:%s') AS format_date UNION ALL。
SELECT '%H:%i:%S' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%H:%i:%S') AS format_date UNION ALL。
SELECT '%T' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%T') AS format_date UNION ALL。
SELECT '%w,%m-%d' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%w,%m-%d') AS format_date UNION ALL。
SELECT '------' AS format, '--------------' AS format_date UNION ALL。
SELECT '%H:%I:%s' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%H:%I:%s') AS format_date UNION ALL。
SELECT '%t' AS format, DATE_FORMAT( '2024-12-31 23:48:59','%t') AS format_date。
  • 执行结果。 在这里插入图片描述

四、业务场景。

报告导出、界面显示、数据分析等实际业务应用,该函数通常用于输出特定格式的日期或时间,当然,DATE_FORMAT()。允许您定制输出格式,只需定义格式化字符串即可。

SELECT DATE_FORMAT(startTime,'%Y-%m') AS startTime。 
FROM tableA。
WHERE column1 = 'option1'

五、总结。

DATE_FORMAT()。它是MySQL中用于格式化输出日期和时间的函数,我们可以使用该函数来满足大多数格式化日期的应用场景,本文的例子展示了如何获得当前的日期和时间,并将其格式化为一种常见的格式,您可以根据需要调整格式字符串以满足您的具体需要。 但需要注意的是,,不同的数据库系统可能支持不同的格式字符串,因此,正确的格式字符串需要参考相应数据库的文档来确定。

[责任编辑:百度一下]
检察日报数字报 | 正义网 |
Copyrights©最高人民检察院 All Rights Reserved.