📜  mysql 时间 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:06.651000             🧑  作者: Mango

MySQL 时间 - SQL

MySQL 中的时间类型是非常重要的,因为它们用于存储和操作日期和时间值。在本文中,我们将深入了解 MySQL 中的时间类型以及如何使用 SQL 操作它们。

MySQL 的时间类型

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 数据库,并在开发中更加方便地处理日期和时间数据。