SQLServer2008中的定时比较
在SQL Server 2008中,如何将印度时间与世界其他国家的时间进行比较 这意味着我想知道,在印度,它的午夜1点是否会在其他国家通过SQLServer2008进行计时SQLServer2008中的定时比较,sql,tsql,sql-server-2008,timezone,Sql,Tsql,Sql Server 2008,Timezone,在SQL Server 2008中,如何将印度时间与世界其他国家的时间进行比较 这意味着我想知道,在印度,它的午夜1点是否会在其他国家通过SQLServer2008进行计时 DECLARE @indianTime DATETIME = GETDATE() DECLARE @timeZoneOffset SMALLINT = 3 -- or -3 SELECT DATEADD(hour, @timeZoneOffset, @indianTime) 请参阅下一篇MSDN文章: 但最好使用SQL
DECLARE @indianTime DATETIME = GETDATE()
DECLARE @timeZoneOffset SMALLINT = 3 -- or -3
SELECT DATEADD(hour, @timeZoneOffset, @indianTime)
请参阅下一篇MSDN文章:
但最好使用SQL Server 2008和支持时区的
DateTimeOffset
类型
所以你可以做下一步:
DECLARE @indianTime DATETIME = SYSDATETIMEOFFSET()
DECLARE @timeZoneOffset NVARCHAR(6) = '-03:00'
SELECT SWITCHOFFSET(@indianTime, @timeZoneOffset)
查看
SYSUTCDATETIME()
:
使用UTC时间,您可以轻松计算任何其他国家/地区的时间。SQL Server 2008使用该类型表示带有时区偏移的日期时间
您可以使用函数将值从一个时区转换为另一个时区
要从现有日期值创建特定时区的DateTimeOffset值,请使用
您可以使用获取当前日期和时间,包括偏移量
最后,您可以使用纯old来比较DateTimeOffset值并获得它们的差异
要获取您在印度的当前时间并将其切换到另一个时区,您必须知道正确的时间偏移。这个声明大概是这样的
DECLARE @localTime DATETIMEOFFSET=SYSDATETIMEOFFSET()
SELECT @localTime, SWITCHOFFSET(@localTime,'-5:00')
您能否给出如何使用和/或访问此信息的上下文?您是对多个SQL Server之间的时区差异感兴趣,还是只对查找地理位置的时间偏移量感兴趣?
DECLARE @localTime DATETIMEOFFSET=SYSDATETIMEOFFSET()
SELECT @localTime, SWITCHOFFSET(@localTime,'-5:00')