我目前使用的是:
SELECT DATEPART(TZ, SYSDATETIMEOFFSET())
然而,它会返回分钟偏移量。我想要保留“-05:00”的格式,而不是“-300”。
谢谢。
我目前使用的是:
SELECT DATEPART(TZ, SYSDATETIMEOFFSET())
然而,它会返回分钟偏移量。我想要保留“-05:00”的格式,而不是“-300”。
谢谢。
如果您想从datetimeoffset变量的末尾提取确切的字符串“-05:00”,可以使用SQL Server字符串操作。 我认为使用内置的SQL DateTime函数无法做到这一点。 您可以使用CAST函数,我相信默认为ISO 8601格式:
declare @timeStr nvarchar(50) = CAST(SYSDATETIMEOFFSET() as nvarchar(50))
select right(@timeStr, 6)
如果您想更明确地表示,可以使用CONVERT函数,并将格式类型设置为126,明确告诉SQL Server使用ISO 8601:
declare @timeStr nvarchar(50) = CONVERT(nvarchar(50), SYSDATETIMEOFFSET(), 126)
select right(@timeStr, 6)
在我的时区,这两种方法返回相同的结果:
-06:00
关于CAST和CONVERT的更多信息,请点击此处。