mysql求时间差
timediff()函数 - 计算两个TIME或DATETIME值之间的差值。
timestampdiff()函数 - 计算两个DATE或DATETIME值之间的差值。
MySQL TIMEDIFF函数介绍
TIMEDIFF返回两个TIME或DATETIME值之间的差值。 请参阅TIMEDIFF函数的以下语法。
TIMEDIFF(dt1, dt2);
TIMEDIFF函数接受两个必须为相同类型的参数,即TIME或DATETIME。 TIMEDIFF函数返回表示为时间值的dt1 - dt2的结果。
因为TIMEDIFF函数返回TIME值,所以其结果被限制在从-838:59:59到838:59:59的TIME值范围内。
MySQL TIMEDIFF函数示例
让我们举一个例子来计算两个时间值之间的差异。
mysql> SELECT TIMEDIFF('12:00:00','10:00:00') diff;
+----------+
| diff |
+----------+
| 02:00:00 |
+----------+
1 row in set
在这个例子中,我们计算了12:00:00和10:00:00之间的差值为:02:00:00。
以下示例计算两个DATETIME值之间的差异值:
mysql> SELECT TIMEDIFF('2010-01-01 01:00:00', '2010-01-02 01:00:00') diff;
+-----------+
| diff |
+-----------+
| -24:00:00 |
+-----------+
1 row in set
如果任一参数为NULL,TIMEDIFF函数将返回NULL。
mysql> SELECT TIMEDIFF('2010-01-01',NULL) diff;
+------+
| diff |
+------+
| NULL |
+------+
1 row in set, 1 warning (0.00 sec)
如果传递两个不同类型的参数,一个是DATETIME,另一个是TIME,TIMEDIFF函数也返回NULL。
mysql> SELECT TIMEDIFF('2010-01-01 10:00:00','10:00:00') diff;
+------+
| diff |
+------+
| NULL |
+------+
1 row in set
MySQL TIMESTAMPDIFF函数简介
下面说明了TIMESTAMPDIFF函数的语法。
TIMESTAMPDIFF(unit,begin,end);
TIMESTAMPDIFF函数返回begin-end的结果,其中begin和end是DATE或DATETIME表达式。
TIMESTAMPDIFF函数允许其参数具有混合类型,例如,begin是DATE值,end可以是DATETIME值。 如果使用DATE值,则TIMESTAMPDIFF函数将其视为时间部分为“00:00:00”的DATETIME值。
差值应该是45分59秒。 但是,我们将unit参数传递为MINUTE,因此,函数按预期返回45分钟。
大型站长资讯类网站! https://www.nzzz.com.cn