MySQL 提供了多种日期处理函数,用于处理和操作日期和时间数据。这些函数可以帮助你执行如日期计算、时间转换、格式化输出等操作。以下是一些常用的 MySQL 日期处理函数及其用法:

mysql 格式化后更新日期_mysql


        日期和时间格式化函数

1. **DATE_FORMAT()**:将日期或时间戳格式化为字符串。

2. **TIME_FORMAT()**:将时间戳格式化为字符串。

SELECT DATE_FORMAT('2021-10-01 12:00:00', '%Y-%m-%d %H:%i:%s'); -- 输出:2021-10-01 12:00:00
SELECT TIME_FORMAT('2021-10-01 12:00:00', '%H:%i:%s'); -- 输出:12:00:00

        日期和时间组件函数
1. **YEAR()**:返回日期中的年份。
2. **MONTH()**:返回日期中的月份。
3. **DAY()**:返回日期中的天。
4. **HOUR()**:返回时间戳中的小时。
5. **MINUTE()**:返回时间戳中的分钟。
6. **SECOND()**:返回时间戳中的秒。

SELECT YEAR('2021-10-01'); -- 输出:2021
SELECT MONTH('2021-10-01'); -- 输出:10
SELECT DAY('2021-10-01'); -- 输出:01
SELECT HOUR('2021-10-01 12:00:00'); -- 输出:12
SELECT MINUTE('2021-10-01 12:00:00'); -- 输出:00
SELECT SECOND('2021-10-01 12:00:00'); -- 输出:00

        日期和时间计算函数
1. **CURDATE()**:返回当前日期。
2. **CURRENT_DATE()**:同 `CURDATE()`。
3. **CURTIME()**:返回当前时间。
4. **CURRENT_TIME()**:同 `CURTIME()`。
5. **NOW()**:返回当前日期和时间。
6. **CURRENT_TIMESTAMP()**:返回当前日期和时间戳。

SELECT CURDATE(); -- 输出:2021-10-01
SELECT CURRENT_DATE(); -- 输出:2021-10-01
SELECT CURTIME(); -- 输出:12:00:00
SELECT CURRENT_TIME(); -- 输出:12:00:00
SELECT NOW(); -- 输出:2021-10-01 12:00:00
SELECT CURRENT_TIMESTAMP(); -- 输出:2021-10-01 12:00:00

        日期和时间转换函数
1. **FROM_UNIXTIME()**:将 UNIX 时间戳转换为日期和时间。
2. **UNIX_TIMESTAMP()**:将日期和时间转换为 UNIX 时间戳。

SELECT FROM_UNIXTIME(1633472000); -- 输出:2021-10-01 12:00:00
SELECT UNIX_TIMESTAMP('2021-10-01 12:00:00'); -- 输出:1633472000

        日期和时间差函数
1. **TIMESTAMPDIFF()**:计算两个日期或时间戳之间的差异。

SELECT TIMESTAMPDIFF(HOUR, '2021-10-01 12:00:00', '2021-10-01 14:00:00'); -- 输出:2

        日期和时间生成函数
1. **DATE_ADD()**:在日期上添加时间间隔。
2. **DATE_SUB()**:从日期中减去时间间隔。
3. **DATEDIFF()**:比较两个日期之间的差异。

SELECT DATE_ADD('2021-10-01', INTERVAL 1 DAY); -- 输出:2021-10-02
SELECT DATE_SUB('2021-10-01', INTERVAL 1 DAY); -- 输出:2021-09-30
SELECT DATEDIFF('2021-10-01', '2021-09-30'); -- 输出:1

        日期和时间格式化函数(续)
4. **DATE()**:返回日期或时间戳的日期部分。
5. **TIME()**:返回日期或时间戳的时间部分。

SELECT DATE('2021-10-01 12:00:00'); -- 输出:2021-10-01
SELECT TIME('2021-10-01 12:00:00'); -- 输出:12:00:00

         日期和时间组件函数(续)
6. **WEEK()**:返回日期是该年的第几周。
7. **QUARTER()**:返回日期所在的季度。
8. **MONTHNAME()**:返回日期中的月份名称。
9. **DAYNAME()**:返回日期中的星期名称。

SELECT WEEK('2021-10-01'); -- 输出:40
SELECT QUARTER('2021-10-01'); -- 输出:4
SELECT MONTHNAME('2021-10-01'); -- 输出:October
SELECT DAYNAME('2021-10-01'); -- 输出:Saturday

        日期和时间生成函数(续)
10. **ADDTIME()**:将时间添加到时间戳。
11. **SUBTIME()**:从时间戳中减去时间。
12. **MAKEDATE()**:创建一个日期,指定年月和天。
13. **MAKETIME()**:创建一个时间戳,指定小时、分钟和秒。

SELECT ADDTIME('2021-10-01 12:00:00', '1:30:00'); -- 输出:2021-10-01 13:30:00
SELECT SUBTIME('2021-10-01 12:00:00', '1:30:00'); -- 输出:2021-10-01 10:30:00
SELECT MAKEDATE(2021, 10); -- 输出:2021-10-01
SELECT MAKETIME(12, 0, 0); -- 输出:12:00:00

        日期和时间差函数(续)
14. **EXTRACT()**:从日期或时间戳中提取特定部分。

SELECT EXTRACT(HOUR FROM '2021-10-01 12:00:00'); -- 输出:12

        总结
        MySQL 提供了丰富的日期处理函数,可以帮助你轻松地处理和操作日期和时间数据。从格式化、组件提取、计算、转换,到生成和差值比较,这些函数涵盖了日期和时间处理的各个方面。掌握这些函数的使用,将使你在处理 MySQL 数据时更加得心应手。在实际应用中,根据具体需求选择合适的函数,可以提高工作效率并简化代码。不断练习和探索,你将能够更加熟练地运用这些日期处理函数,为你的数据库应用增添更多的功能和灵活性。