我有两个DAYTIME类型的字段,当我使用函数timestampdiff(t1,t2)时,它返回一个错误的值,这里是示例:
timestampdiff(SECOND, t.wfStartTimestamp, t.wfEndTimeStamp)
(那两个字段实际上是白天)
当它应该返回15时返回89734,有什么建议吗?
被比较的DATETIME
值不是您认为正在比较的DATETIME
值。这是一个建议......
运行如下查询:
SELECT t.wfstarttimestamp
, t.wfendtimestamp
, TIMESTAMPDIFF(SECOND,t.wfstarttimestamp,t.wfendtimestamp) AS secs
FROM t
WHERE ...
ORDER
BY ...
LIMIT ...
并发布结果。我们可以添加演示,显示内置的TIMESTAMPDIFF
函数根据文档运行。除非有人覆盖或修改了内置的TIMESTAMPDIFF
函数,否则这不是问题所在。
SELECT t.wfstarttimestamp
, t.wfendtimestamp
, TIMESTAMPDIFF(SECOND,t.wfstarttimestamp,t.wfendtimestamp) AS secs
FROM (
SELECT '2019-02-22 10:20:30' + INTERVAL 0 SECOND AS wfstarttimestamp, '2019-02-22 10:20:45' + INTERVAL 0 SECOND AS wfendtimestamp
UNION ALL SELECT '2019-02-20 02:03:04' + INTERVAL 0 SECOND, '2019-02-21 02:58:38' + INTERVAL 0 SECOND
) t
收益:
wfstarttimestamp wfendtimestamp secs
------------------- ------------------- ------
2019-02-22 10:20:30 2019-02-22 10:20:45 15
2019-02-20 02:03:04 2019-02-21 02:58:38 89734