0

从 mysql 结果中,我得到了这样的结果

last_updated_rta    gmt_timestamp        last_record_update       diff
  02:14:58       2013-02-24 02:15:37    2013-02-23 19:15:37      00:00:39
  01:01:00       2013-02-24 01:30:34    2013-02-23 18:30:34      00:29:34
  23:59:59       2013-02-24 00:29:33    2013-02-23 17:29:33     -23:30:26
  00:00:00       2013-02-24 00:29:33    2013-02-23 17:29:33      00:29:33

'diff' 列是 timediff 计算:

         TIMEDIFF(TIME(gmt_timestamp),TIME(last_updated_rta)) AS diff

这就是问题所在。请注意“差异”列中的“-23:30:26”值。我不应该有负面的。仅当 last_updated_rta 时间在午夜 (00:00:00) 之前并且 gmt_timestamp 日期是第二天时才会发生这种情况。我认为,部分问题是我没有得到“last_updated_rta”列的日期值。我只有时间。

我怎样才能更正这个公式来解决这个问题,这样我就不会得到负值?

提前致谢,

  • d -
4

2 回答 2

1

假设 last_updated_rta 总是于 gmt_timestamp,您可以假设 last_updated_rta 的日期与 gmt_timestamp 相同。如果 last_updated_rta 碰巧更(diff 给出负数)那么你知道它的日期应该是前一天

于 2013-02-24T22:13:58.713 回答
0

如果你知道你不会得到任何负值,那么测试一下结果是否为负,如果是,则在 diff 的值上加 1 天。

于 2013-02-24T22:06:27.080 回答