MySQL DATE_ADD没有返回正确的日期

时间:2014-03-25 10:10:19

标签: mysql sql

SELECT DATE_ADD(`vj`.`departure`, INTERVAL sum(`run_time`) SECOND) AS arrivalTime 
  FROM myTable

vj.departure = 09:15:00  
sum(run_time) = 2070

我认为我将根据上述值从查询得到的结果是:09:49:30。相反,我看到:10:19:30.000000

如果我运行这样的查询:DATE_ADD(vj.departure, INTERVAL 2070 SECOND) AS arrivalTime则查询工作正常并返回正确的结果:09:49:30。这不是我的目标,但我需要传递sum(run_time)值。

有关为何发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:0)

我认为,你得到vj.departure的错误值。

给出一个这样的表:

departure | runtime
----------+---------
06:06:06  | 1000
09:15:00  | 1070

使用SUM()功能时,所有行都会折叠。由于您未在departure列的查询中指定聚合函数,并且在GROUP BY子句中没有指定聚合函数,因此选择显示所有行的随机行。所以我猜,在上面的示例中,选择了值为06:06:06的行,因此得到了错误的结果。