我的本地系统上有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 ()
)?