如果把日期和时间数据保存在一列里,是不会提示该日期和时间属于哪一个时区的。时区的提示非常重要,特别是当数据包含了多个不同时区的国家时。新的DATETIMEOFFSET数据类型可以定义一个日期和时间组合,其中时间以24小时制显示,并带有时区提示。
下面例子:
DECLARE @dt DATETIMEOFFSET(0)
SET @dt='2015-1-20 21:20:30 -1:00'
DECLARE @dt1 DATETIMEOFFSET(0)
SET @dt1='2015-1-20 21:20:30 +5:00'
SELECT DATEDIFF(hh,@dt,@Dt1)
在SQLServer里执行结果如下图: