mysql当前时间为0秒

时间:2014-06-27 20:43:29

标签: mysql

我想将数据插入/更新到具有当前时间的表中,但我希望秒数为0,例如,'2014-06-27 23:36: 00 '。我如何实现这一目标?

我认为MAKETIME()可能会以某种方式参与,但我真的不知道如何。

遗憾的是,{p> CURDATE() + INTERVAL HOUR() HOUR + INTERVAL MINUTE() MINUTE不起作用,这并不奇怪。

修改:最终解决方案 - DATE_FORMAT(CURTIME(), '%Y-%m-%d %H:%i:00')

3 个答案:

答案 0 :(得分:2)

你的想法应该与函数的参数一起使用:

CURDATE() + INTERVAL HOUR(now()) HOUR + INTERVAL MINUTE(now()) MINUTE 

答案 1 :(得分:2)

mysql> select date_format(current_timestamp(), '%Y-%m-%d %H:%i:00') as ts_zero_seconds;
+---------------------+
| ts_zero_seconds     |
+---------------------+
| 2014-06-27 02:06:00 |
+---------------------+

答案 2 :(得分:1)

我知道已经有了一个可以接受的答案,我现在聊得有点晚了,但只要为别人提供2美分,便可能会有所帮助。这就是我用来获得0秒时间戳的方法。随时指出我的逻辑中的任何缺陷。 =)

select CURRENT_TIMESTAMP - interval second(CURRENT_TIMESTAMP) second

简单地获取时间戳并从中减去秒。这也适用于表中的datetime或timestamp列。因此,如果您想选择一个时长为0秒的时间戳列,请使用以下方法:

select timestamp_col - interval second(timestamp_col) second from table