此查询正在保存完整的日期和时间。但我想只保存数据库中的时间而不是日期。有任何疑问吗?
update table set current_time=now();
答案 0 :(得分:1)
您的列必须设置为DATETIME或TIMESTAMP。
如果您使用TIME类型,那么您的查询将按预期工作。
如果您正在使用任何其他类型的列,那么您可以使用其他答案中提到的CURTIME()方法或CAST(列AS TIME),但是这将在磁盘上使用更多空间,并且如果您使用更慢的查询用来选择,并阻止你从各种运营商:
e.g。 SELECT * FROM table WHERE current_time<'12:00'
您可以在此处查看有关不同DATE列类型的详细信息:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-types.html
请注意,CURTIME()方法不是标准的SQL函数,因此这只适用于MySql
答案 1 :(得分:0)
你可以使用CONVERT (time, SYSDATETIME())作为值。
这样可以在不使用Current_time = now();
的情况下自动执行流程INSERT INTO table SET current_time = CONVERT (time, SYSDATETIME());
您也可以使用curtime();
INSERT INTO table SET current_time = curtime();
致谢:Salmaan C