如何在SQL Server 2008中比较印度时间和世界其他国家的时间?
我的意思是,如果在印度是午夜1点,那么在其他国家的时间是多少,通过SQL Server 2008来查询。
如何在SQL Server 2008中比较印度时间和世界其他国家的时间?
我的意思是,如果在印度是午夜1点,那么在其他国家的时间是多少,通过SQL Server 2008来查询。
看一下SYSUTCDATETIME()
:
SELECT SYSDATETIME(), SYSUTCDATETIME();
使用协调世界时(UTC),您可以轻松计算任何其他国家的时间。
DECLARE @localTime DATETIMEOFFSET=SYSDATETIMEOFFSET()
SELECT @localTime, SWITCHOFFSET(@localTime,'-5:00')
DECLARE @indianTime DATETIME = GETDATE()
DECLARE @timeZoneOffset SMALLINT = 3 -- or -3
SELECT DATEADD(hour, @timeZoneOffset, @indianTime)
但最好使用支持时区的SQL Server 2008和DateTimeOffset
类型。
因此,您可以执行以下操作:
DECLARE @indianTime DATETIME = SYSDATETIMEOFFSET()
DECLARE @timeZoneOffset NVARCHAR(6) = '-03:00'
SELECT SWITCHOFFSET(@indianTime, @timeZoneOffset)