如何通过sql查询只保存数据库中的时间而不是日期

时间:2017-02-18 13:26:03

标签: mysql sql database

此查询正在保存完整的日期和时间。但我想只保存数据库中的时间而不是日期。有任何疑问吗?

update table set current_time=now();

2 个答案:

答案 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