SQL 服务器 - 如何将 1 小时添加到日期时间 SQL 列数据



我使用查询的这一部分为添加行的日期和时间创建了一个表列:

order_date datetime NOT NULL DEFAULT GETDATE()

每当创建新行时,order_date的数据都设置为如下所示:

Apr 8 2014 9:52AM

出于某种原因,当创建行并设置order_date列数据时,小时设置为倒退 1 小时。例如,Apr 8 2014 9:52AM的上述列数据设置为上午 10:52。

有没有办法提前 1 小时设置它,以便它与我当前的时间正确?

感谢您的任何帮助。非常感谢所有帮助。

使用 DATEADD()

DATEADD(hh, 1, order_date)

编辑:

如果时间设置为一小时后,则系统时间可能错误。因此,如果您只是要求服务器管理员更正它会更好。

你应该考虑使用 DATETIMEOFFSET 作为你的 daatype,而不是 DATETIME。

定义与一天中具有时间的时间组合的日期 区域感知,基于 24 小时制。

你可以把它与 SYSDATETIMEOFFSET() 一起使用。

Returns a datetimeoffset(7) value that contains the date and time of the computer on which the instance of SQL Server is running. The time zone offset is included.

例:

 CREATE TABLE DateTest (id INT, order_date DATETIMEOFFSET NOT NULL DEFAULT SYSDATETIMEOFFSET())
 INSERT INTO DateTest (id) VALUES (1)
 SELECT * FROM DateTest

相关内容

  • 没有找到相关文章

最新更新