让testdate
成为日期时间列为d
的表。我执行了这个sql请求几次,并在每次执行之间更改操作系统时区。检索SQL Server中记录的日期时间的时区(2005)
INSERT INTO [testdate] ([d])
VALUES (CAST(GETDATE() AS DATETIME))
我得到了这样的结果:
________________________
| d (datetime) |
.---|------------------------|
| 1 | 2016-09-08 15:15:28.847|
| 2 | 2016-09-08 18:15:45.407|
| 3 | 2016-09-08 11:17:23.317|
°----------------------------°
首先在GMT + 6出战,在第二GMT + 9,最后在GMT + 1(夏令时)。我相信我会在当前时区获得所有这些行。
这些日期时间值是否存储为“快照”?或者有没有办法为每个值获取时区?
这个问题和评论中的链接可以帮助你:http://dba.stackexchange.com/questions/39421/how-to-handle-timezone-properly-in-sql-server – TheGameiswar