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