SQL Server,奇怪的DATETIME行为



我的本地系统上有SQL Server Express 2008,我正在datetime列中进行一些插入。

问题是,在 goaddy 上托管的 (SQL Server 2005) 生产上的同一系统记录了一个datetime条目作为上一个日期和 13:00 的时间

例如,插入的日期是07/01/2010 00:00:00

本地数据库中的条目 = 07/01/2010 00:00:00
产品 DB 中的条目 = 06/30/2010 13:00:00

可能是datetime存储的某些服务器/数据库级别设置吗?

编辑 1:

请注意,我正在插入一个预定义的datetime值,插入的日期正好是07/01/2010 00:00:00.我没有使用 GETDATE()。

编辑2:解决方案

好的,谢谢你的回答,但问题不是来自SQL Server,而是来自从序列化数据集的XML形式读取的数据。它将日期时间信息发送为"mm/dd/yyyy T00:00:00+4:00"

我所做的只是从中删除时间段,然后将其插入数据库。

干杯!

  • 您在迪拜 = GMT+y 小时
  • 戈达迪在美国 = GMT-x 小时

GETDATE() 给 SQL 服务器时间

你应该使用 GETUTCDATE() 给出 GMT(UTC,因为我们失去了我们的帝国),这将在全球范围内保持一致。

时差让我怀疑这是否是UTC的事情。是通过 SSMS 还是通过应用程序代码运行它?

它是否总是比您本地晚 11 小时?

这是您为列提供的明确时间,还是该列默认(也许是GETUTCDATE ())?

相关内容

  • 没有找到相关文章

最新更新