mysql中的 timestampdiff() 函数,可以获取两个时间相减的差值,并以年,月,日或小时,分钟,秒数等为单进行展示,下面就来说一说这个 timestampdiff() 函数的用法。

mysql timestampdiff() 函数介绍

timestampdiff():根据指定单位返回两个时间相减的时间差。

语法:

TIMESTAMPDIFF(unit,begin,end);

参数:

unit:指定返回时间差的单位。

取值如下:

unit值含义
SECOND
MINUTE分钟
HOUR小时
DAY
WEEK
MONTH
QUARTER季度
YEAR

begin:开始时间

end:结束时间

返回:end - begin 的时间差,并以 unit 指定的单位进行输出。

注意:

1、此函数的参数具有混合类型,比如 begin 是DATE值,end 可以是 datetime 值。 

2、如果函数的参数为 date 值,则 timestampdiff() 函数将其时间部份补充为“00:00:00”的 datetime 值

mysql timestampdiff() 函数的使用方法

例1:mysql 计算两个时间之间相隔多少天

sql命令:

mysql> select timestampdiff(day,'2020-06-08','2021-08-16');
+----------------------------------------------+
| timestampdiff(day,'2020-06-08','2021-08-16') |
+----------------------------------------------+
|                                          434 |
+----------------------------------------------+
1 row in set (0.00 sec)

图示:

例2:mysql 计算两个时间之间相隔的年数

sql命令:

mysql> select timestampdiff(year,'2020-06-08','2021-08-16');
+-----------------------------------------------+
| timestampdiff(year,'2020-06-08','2021-08-16') |
+-----------------------------------------------+
|                                             1 |
+-----------------------------------------------+
1 row in set (0.00 sec)

图标:

例3:mysql 计算两个时间相隔的小时数

sql 命令

mysql> select timestampdiff(hour,'2021-08-01','2021-08-02');
+-----------------------------------------------+
| timestampdiff(hour,'2021-08-01','2021-08-02') |
+-----------------------------------------------+
|                                            24 |
+-----------------------------------------------+
1 row in set (0.00 sec)

图示: