MySQL INTERVAL 时间间隔表达式


时间间隔表达式表示一个时间的间隔,通常用于时间的计算;语法如下:

INTERVAL expr unit

INTERVAL是一个关键字;expr 表示数量,unit 表示单位;INTERVAL关键字和单位都不区分大小写;

时间间隔表达式常用单位

unit(单位) 描述 示例 示例描述
MICROSECOND 微秒
SECOND INTERVAL 5 SECOND 5秒
MINUTE 分钟 INTERVAL 30 MINUTE 30分钟
HOUR 小时 INTERVAL 1 HOUR 1小时
DAY INTERVAL 100 DAY 100天
WEEK INTERVAL 1 WEEK 1周
MONTH INTERVAL 1 MONTH 1个月
QUARTER 季度 INTERVAL 1 QUARTER 1个季度
YEAR INTERVAL 3 YEAR 3年

时间间隔表达式的应用

表达式可以与DATEDATETIMETIMESTAMP值使用 +- 运算符;

当使用+运算符时,表达式可以在左,也可以在右;当使用-运算符时,表达式只能在右;

获得当前时间5天后的时间值:

mysql> SELECT NOW() + INTERVAL 5 DAY;
+------------------------+
| NOW() + INTERVAL 5 DAY |
+------------------------+
| 2021-06-04 16:01:11    |
+------------------------+
1 row in set (0.00 sec)

获得日期2021-05-30,100天前的时间:

mysql> SELECT '2021-05-30' - INTERVAL 100 DAY;
+---------------------------------+
| '2021-05-30' - INTERVAL 100 DAY |
+---------------------------------+
| 2021-02-19                      |
+---------------------------------+
1 row in set (0.00 sec)

也常用于某些函数

例如ADDDATE()函数:

mysql> SELECT ADDDATE('2021-05-30',INTERVAL 1 DAY);
+--------------------------------------+
| ADDDATE('2021-05-30',INTERVAL 1 DAY) |
+--------------------------------------+
| 2021-05-31                           |
+--------------------------------------+
1 row in set (0.00 sec)

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/mysql-interval.html