首页 > 数据库 > MySQL > 正文

mysql如何获得时间差

2024-07-24 12:34:05
字体:
来源:转载
供稿:网友
  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分钟。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表