从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
这是问题所在。请注意“diff”列中的“-23:30:26”值。我不应该有负面的。仅当last_updated_rta时间在午夜(00:00:00)之前并且gmt_timestamp日期是第二天时才会发生这种情况。我认为,部分问题是我没有获得“last_updated_rta”列的日期值。我只有时间。
如何更正此公式以解决此问题,以便我得不到负值?
提前致谢,
答案 0 :(得分:1)
假设last_updated_rta总是早于而不是gmt_timestamp,您可以假设last_updated_rta的日期与gmt_timestamp相同。如果last_updated_rta碰巧以后(差异为负),那么您知道其日期应该是前一天
答案 1 :(得分:0)
如果您知道您将不会得到任何负值,那么请测试结果是否为负数,如果是,则将差值加1天。