我的本地系统上有SQL Server Express 2008,我在datetime
列中进行了一些插入操作。
问题在于,在godaddy上托管的同一系统(SQL Server 2005)上记录了datetime
条目作为上一个日期和13:00的时间
E.g。正在插入的日期为07/01/2010 00:00:00
本地数据库中的条目= 07/01/2010 00:00:00
在Prod 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'
我所做的就是删除从中移除时间段,然后将其插入数据库。
干杯!
答案 0 :(得分:1)
GETDATE()提供SQL服务器时间
您应该使用GETUTCDATE()来提供GMT(UTC,因为我们失去了它出现的帝国),这将是全球一致的。
答案 1 :(得分:0)
时差让我想知道这是否是UTC的事情。您是通过SSMS还是通过应用程序代码运行它?
它总是会落后当地11小时吗?
这是您给列的明确时间,还是列默认值(可能是GETUTCDATE ()
)?