使用更新查询重置时间字段时间

时间:2016-04-01 13:48:59

标签: mysql sql time

我在mysql上有一个包含超过3百万条记录的大数据库。

我有一个"时间" (hh:mm:ss)字段名为arrival_time。 那个时间可能是错误的,如24:00:00(这实际上表示00:00:00)或25:11:00( - > 1:11:00)等等。
我想执行类似

的操作
UPDATE 'table' SET arrival_time=(arrival_time_ADJUSTED) WHERE arrival_time>"23:59:59";  

可能是正确而快速的方法吗?如何告诉SQL为arrival_time提供正确的值? 谢谢你。

1 个答案:

答案 0 :(得分:2)

尝试此查询。

UPDATE yourtable SET arrival_time = TIMEDIFF(arrival_time, '24:00:00')
WHERE arrival_time > '23:59:59';

这是假设,最大值是到达时间是47:59:59。如果您有更高的记录,则再次重复查询,直到所有记录都得到纠正