详解MySQL的INTERVAL()函数:返回一个时间间隔

  • Post category:MySQL

INTERVAL()函数是MySQL中的日期时间函数,可以用来在日期时间中添加或减去一个指定的时间间隔。它的语法如下:

SELECT INTERVAL expression unit;

其中,expression是一个数字,unit则是表示时间间隔的关键词,可以是以下任意一个:

  • MICROSECOND:微秒
  • SECOND:秒
  • MINUTE:分钟
  • HOUR:小时
  • DAY:天
  • WEEK:周
  • MONTH:月
  • QUARTER:季度
  • YEAR:年

下面我们举两个实例来说明INTERVAL()函数的使用方法。

实例1:计算日期时间差异

假设我们需要计算两个日期时间之间相差的天数,可以使用如下语句:

SELECT DATEDIFF('2022-10-01 12:00:00', '2022-09-01 12:00:00') AS `day_diff`;

以上语句将输出1,表示这两个日期时间相差1天。但如果我们需要计算相差的小时数、分钟数或秒数呢?INTERVAL()函数就可以派上用场:

SELECT TIMESTAMPDIFF(HOUR, '2022-09-01 12:00:00', '2022-09-02 14:30:00') AS `hour_diff`;
SELECT TIMESTAMPDIFF(MINUTE, '2022-09-01 12:00:00', '2022-09-02 14:30:00') AS `minute_diff`;
SELECT TIMESTAMPDIFF(SECOND, '2022-09-01 12:00:00', '2022-09-02 14:30:59') AS `second_diff`;

以上语句将输出38、1470和89059,分别表示这两个日期时间相差的小时数、分钟数和秒数。

实例2:添加日期时间间隔

假设我们需要在某个日期时间上添加一段时间间隔,可以使用如下语句:

SELECT DATE_ADD('2022-09-01 12:00:00', INTERVAL 7 DAY) AS `new_datetime`;

以上语句的输出结果将是2022-09-08 12:00:00,表示在原来的日期时间上添加了7天的时间间隔。

另一个例子是我们要在某个日期时间上添加7个小时和30分钟的时间间隔,可以使用如下语句:

SELECT DATE_ADD('2022-09-01 12:00:00', INTERVAL 7 HOUR + 30 MINUTE) AS `new_datetime`;

以上语句的输出结果将是2022-09-01 19:30:00。

以上就是INTERVAL()函数的使用方法及范例,希望能对你有所帮助。