📅  最后修改于: 2023-12-03 15:03:06.651000             🧑  作者: Mango
MySQL 中的时间类型是非常重要的,因为它们用于存储和操作日期和时间值。在本文中,我们将深入了解 MySQL 中的时间类型以及如何使用 SQL 操作它们。
MySQL 支持多种类型的时间数据类型,如下表所示:
| 数据类型 | 描述 | | -------- | --------------------------------------------- | | DATE | 日期类型,格式为 YYYY-MM-DD | | TIME | 时间类型,格式为 HH:MM:SS | | DATETIME | 日期时间类型,格式为 YYYY-MM-DD HH:MM:SS | | YEAR | 年份类型,格式为 YYYY | | TIMESTAMP| 时间戳类型,格式为 YYYY-MM-DD HH:MM:SS |
MySQL 还提供了许多用于操作时间数据类型的内置函数,如下表所示:
| 函数 | 描述 | | ------------ | ---------------------------------------------------------- | | NOW() | 返回当前日期和时间 | | YEAR() | 提取日期/日期时间值的年份 | | MONTH() | 提取日期/日期时间值的月份 | | DAY() | 提取日期/日期时间值的日 | | HOUR() | 提取时间/日期时间值的小时 | | MINUTE() | 提取时间/日期时间值的分钟 | | SECOND() | 提取时间/日期时间值的秒 | | DATE() | 提取日期/日期时间值的日期部分,返回格式为 YYYY-MM-DD | | TIME() | 提取日期/日期时间值的时间部分,返回格式为 HH:MM:SS | | CONCAT() | 将两个或多个字符串连接在一起 | | DATE_ADD() | 将日期/日期时间加上一个指定的时间间隔 | | DATE_SUB() | 将日期/日期时间减去一个指定的时间间隔 | | DATE_DIFF() | 计算两个日期之间的天数 | | DATE_FORMAT()| 将日期/日期时间格式化为指定的格式,如YY/MM/DD或MM-DD-YYYY |
以下是一些例子,展示了如何使用 MySQL 中的时间数据类型和函数。
可以使用 NOW()
函数获取当前日期和时间。
SELECT NOW();
输出结果:
2022-01-01 15:30:00
可以使用 YEAR()
、MONTH()
、DAY()
、HOUR()
、MINUTE()
和 SECOND()
函数从日期/日期时间中提取特定部分:
SELECT YEAR('2022-01-01 15:54:00');
SELECT MONTH('2022-01-01 15:54:00');
SELECT DAY('2022-01-01 15:54:00');
SELECT HOUR('2022-01-01 15:54:00');
SELECT MINUTE('2022-01-01 15:54:00');
SELECT SECOND('2022-01-01 15:54:00');
输出结果:
2022
1
1
15
54
0
可以使用 DATE()
和 TIME()
函数从日期/日期时间中提取日期或时间部分:
SELECT DATE('2022-01-01 15:54:00');
SELECT TIME('2022-01-01 15:54:00');
输出结果:
2022-01-01
15:54:00
可以使用 DATEDIFF()
函数计算两个日期之间的天数。
SELECT DATEDIFF('2022-01-01', '2021-01-01');
输出结果:
365
可以使用 DATE_FORMAT()
函数将日期/日期时间格式化为指定的格式:
SELECT DATE_FORMAT('2022-01-01 15:54:00', '%M %D %Y %h:%i %p');
输出结果:
January 1st 2022 03:54 PM
在本文中,我们介绍了 MySQL 中的时间类型、时间函数以及如何使用 SQL 操作它们。熟练掌握这些时间相关的知识,可以帮助我们更好地使用 MySQL 数据库,并在开发中更加方便地处理日期和时间数据。