我在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提供正确的值? 谢谢你。
答案 0 :(得分:2)
尝试此查询。
UPDATE yourtable SET arrival_time = TIMEDIFF(arrival_time, '24:00:00')
WHERE arrival_time > '23:59:59';
这是假设,最大值是到达时间是47:59:59。如果您有更高的记录,则再次重复查询,直到所有记录都得到纠正