我需要删除存储在MySQL中作为TIME数据类型的时间的分钟和秒。 所以12:13:14将变成12:00:00,依此类推。
目前,我有以下选择:
SET @t = TIME(NOW());
SELECT
@t
, TIME(TIME_FORMAT(@t, '%H:00:00')) AS t1
, TIME(CONCAT(HOUR(@t), ':00:00')) AS t2
, SEC_TO_TIME(60 * 60 * FLOOR(TIME_TO_SEC(@t) / 60 / 60)) AS t3
, TIME(10000 * HOUR(@t)) AS t4
;
该代码将被触发并立即执行许多行(不是太多,可能是几百行)。
我的问题:
谢谢。
更新:
好像我错过了MAKETIME函数,因此解决方案是MAKETIME(HOUR(@t), 0, 0)
P.S。我知道最好的方法是将小时存储为unintsigned。不幸的是,我不得不暂时将其存储。