📅  最后修改于: 2023-12-03 15:05:20.692000             🧑  作者: Mango
在SQL中,处理日期和时间的函数是非常重要的。本文将介绍一些常用的日期操作函数,帮助您更好地操作日期数据。
DATE_FORMAT可以将日期格式化为字符串。例如:将'2022-04-01'转换为'2022年04月01日',可以用以下语句:
SELECT DATE_FORMAT('2022-04-01', '%Y年%m月%d日');
输出结果为:
+-------------------------+
| DATE_FORMAT('2022-04-01', '%Y年%m月%d日') |
+-------------------------+
| 2022年04月01日 |
+-------------------------+
%Y表示年份,%m表示月份,%d表示日份,详细使用格式可以参照MySQL官方文档。
在MySQL中,还可以使用CAST函数将日期转换为不同的格式(例如字符串或数字)。例如,将日期'2022-04-01'转换为整数(YYYYMMDD):
SELECT CAST('2022-04-01' AS UNSIGNED);
输出结果为:
+---------------------------+
| CAST('2022-04-01' AS UNSIGNED) |
+---------------------------+
| 20220401 |
+---------------------------+
DATE_ADD函数可以对日期进行加法计算。例如,如果要将当前日期加1天,可以使用以下语句:
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
输出结果为:
+----------------------------+
| DATE_ADD(NOW(), INTERVAL 1 DAY) |
+----------------------------+
| 2022-04-04 11:56:08 |
+----------------------------+
DATE_SUB函数可以对日期进行减法计算。例如,如果要将当前日期减1天,可以使用以下语句:
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);
输出结果为:
+----------------------------+
| DATE_SUB(NOW(), INTERVAL 1 DAY) |
+----------------------------+
| 2022-04-02 11:56:08 |
+----------------------------+
DATEDIFF函数可以计算两个日期之间的天数差。例如,如果要计算从今天开始,10天后的日期是哪一天,可以使用以下语句:
SELECT DATE_ADD(NOW(), INTERVAL 10 DAY);
输出结果为:
+------------------------------+
| DATE_ADD(NOW(), INTERVAL 10 DAY) |
+------------------------------+
| 2022-04-11 11:56:08 |
+------------------------------+
另外,DATEDIFF函数计算出的是整数天数,如果需要计算到小时或分钟等级,可以使用TIMEDIFF函数。
SELECT TIMEDIFF('2022-04-01 09:00:00', '2022-04-02 08:00:00');
输出结果为:
+------------------------------------------------+
| TIMEDIFF('2022-04-01 09:00:00', '2022-04-02 08:00:00') |
+------------------------------------------------+
| -23:00:00 |
+------------------------------------------------+
NOW函数返回当前日期和时间。
SELECT NOW();
输出结果为:
+---------------------+
| NOW() |
+---------------------+
| 2022-04-03 11:56:08 |
+---------------------+
YEAR和MONTH函数分别返回日期的年份和月份。
SELECT YEAR('2022-04-01'), MONTH('2022-04-01');
输出结果为:
+--------------------+---------------------+
| YEAR('2022-04-01') | MONTH('2022-04-01') |
+--------------------+---------------------+
| 2022 | 4 |
+--------------------+---------------------+
本文介绍了一些在SQL中常用的日期操作函数,包括日期格式化函数、日期计算函数和其他常用函数。对于需要处理日期数据的SQL问题,熟练掌握这些函数是非常重要的。