【问题标题】:how to save only time not date in database through sql query如何通过sql查询在数据库中只保存时间而不是日期
【发布时间】:2017-02-18 13:26:03
【问题描述】:

此查询正在保存完整的日期和时间。但我只想在数据库中保存时间而不是日期。有任何查询可以做到这一点吗?

update table set current_time=now();

【问题讨论】:

  • 提示:CURTIME().
  • 如果它是现有的日期时间列:CAST(column AS TIME)
  • 谢谢 Gordon Linoff,它真的对我有用。请通过这个回答这个问题,我会批准它

标签: mysql sql database


【解决方案1】:

您的列必须设置为 DATETIME 或 TIMESTAMP。

如果您使用 TIME 类型,那么您的查询将按预期工作。

如果您使用任何其他类型的列,那么您可以使用其他答案中提到的 CURTIME() 方法或 CAST(column AS TIME) ,但是这会占用更多磁盘空间,并且如果您使用更慢的查询用于选择,并阻止您使用各种运算符:

例如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

【讨论】:

    【解决方案2】:

    你可以使用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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多