在 SQL 中,日期和时间格式可以通过多种方法进行处理
使用内置函数:
DATE_FORMAT(date, format)
:将日期或日期时间值按指定格式转换为字符串。STR_TO_DATE(string, format)
:将字符串按指定格式转换为日期或日期时间值。示例:
-- 将日期时间值按指定格式转换为字符串
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
-- 将字符串按指定格式转换为日期时间值
SELECT STR_TO_DATE('2022-01-01 12:34:56', '%Y-%m-%d %H:%i:%s');
使用自定义格式:
在上述内置函数中,format
参数可以根据需要自定义。常用的格式化选项包括:
%Y
:四位数年份(如 2022)%y
:两位数年份(如 22)%m
:月份(01-12)%d
:日期(01-31)%H
:小时(00-23)%i
:分钟(00-59)%s
:秒钟(00-59)示例:
-- 将日期时间值按指定格式转换为字符串
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
-- 将字符串按指定格式转换为日期时间值
SELECT STR_TO_DATE('2022年01月01日 12:34:56', '%Y年%m月%d日 %H:%i:%s');
使用默认格式:
如果不指定 format
参数,则会使用默认格式。默认格式通常为 '%Y-%m-%d'
(对于日期值)或 '%Y-%m-%d %H:%i:%s'
(对于日期时间值)。
示例:
-- 将日期时间值按默认格式转换为字符串
SELECT DATE_FORMAT(NOW());
-- 将字符串按默认格式转换为日期时间值
SELECT STR_TO_DATE('2022-01-01 12:34:56');
注意:在使用这些函数时,请确保输入的日期和时间值是有效的,否则可能会导致错误或意外结果。