时不时地抛出分秒

brqmpdu1  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(136)

我需要删除分钟和秒的时间存储在mysql的时间数据类型。所以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、 我知道最好的办法就是把小时数存储为不带签名的时间。不幸的是,我现在不得不把它作为时间来存储。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题