MySQL 如何在 MySQL 中转换日期格式?

MySQL 如何在 MySQL 中转换日期格式?

MySQL 数据库中,日期是一种十分常见的数据类型。有时候,我们需要将日期按照一定的格式进行转换,例如将“2022-02-22”转换为“2022年02月22日”。本文介绍如何在 MySQL 中对日期进行格式转换。

阅读更多:MySQL 教程

DATE_FORMAT 函数

MySQL 提供了 DATE_FORMAT 函数来实现日期格式转换。其语法如下:

DATE_FORMAT(date, format)

其中,date 表示待转换的日期,可以是日期型字段,或者是日期型常量;format 表示转换后的格式,其取值可以为如下格式符号:

格式符号 含义
%Y 四位年份(例如:2022)
%y 两位年份(例如:22)
%m 月份(01~12)
%c 月份(1~12)
%b/%h 缩写月份(例如:Feb)
%M 月份的完整名字(例如:February)
%d 日期(01~31)
%e 日期(1~31)
%j 年内天数(001~366)
%a 缩写星期名字(例如:Fri)
%W 星期的完整名字(例如:Friday)
%w 星期(0~6,其中0表示星期天)
%U 一年中的第几周(00~53,其中星期天作为周的第一天)
%u 一年中的第几周(00~53,其中星期一作为周的第一天)
%H 小时(00~23)
%h/%I 小时(01~12)
%i 分钟(00~59)
%s 秒(00~59)

例如,我们可以使用如下的语句将日期字段“create_time”转换为“2022年02月22日”格式:

SELECT DATE_FORMAT(create_time, '%Y年%m月%d日') FROM my_table;

STR_TO_DATE 函数

除了 DATE_FORMAT 函数,MySQL 还提供了 STR_TO_DATE 函数,可以将字符串转换为日期型数据。其语法如下:

STR_TO_DATE(str, format)

其中,str 表示待转换的字符串;format 表示字符串中日期格式的格式符号。

例如,我们可以使用如下的语句将字符串“2022年02月22日”转换为日期型数据:

SELECT STR_TO_DATE('2022年02月22日', '%Y年%m月%d日');

日期运算

除了日期格式的调整,我们还可以在 MySQL 中进行日期的加减运算,例如:

-- 增加 1 天
SELECT create_time + INTERVAL 1 DAY FROM my_table;

-- 减少 3 天
SELECT create_time - INTERVAL 3 DAY FROM my_table;

MySQL 还支持对日期进行加减小时、分钟、秒等运算,具体语法为:

interval <value> <unit>

其中,value 表示待加减的值,可以是整数或者小数;unit 表示单位,可以为 HOUR、MINUTE、SECOND 等常见的时间单位。

示例代码

下面是一些具体的示例代码。

准备数据:

CREATE TABLE my_table (
  id int(11) NOT NULL AUTO_INCREMENT,
  create_time datetime NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO my_table (create_time) VALUES ('2022-02-22 00:00:00');

将日期转换为“2022年02月22日”格式:

SELECT DATE_FORMAT(create_time, '%Y年%m月%d日') FROM my_table;

输出结果:

“| DATE_FORMAT(create_time, ‘%Y年%m月%d日’) |
| ——————————— |
| 2022年02月22日 |

将字符串“2022年02月22日”转换为日期型数据:

SELECT STR_TO_DATE('2022年02月22日', '%Y年%m月%d日');

输出结果:

STR_TO_DATE(‘2022年02月22日’, ‘%Y年%m月%d日’)
2022-02-22 00:00:00

进行日期加减运算:

-- 增加 1 天
SELECT create_time + INTERVAL 1 DAY FROM my_table;

-- 减少 3 天
SELECT create_time - INTERVAL 3 DAY FROM my_table;

输出结果:

create_time + INTERVAL 1 DAY
2022-02-23 00:00:00
create_time – INTERVAL 3 DAY
2022-02-19 00:00:00

结论

使用 MySQL 提供的 DATE_FORMAT 函数和 STR_TO_DATE 函数,可以方便地对日期进行格式转换。在需要进行日期加减运算的情况下,可以使用 INTERVAL 关键字来实现。熟练掌握这些函数和关键字,可以使得数据处理更加高效、便捷。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程