使用时区将 SQL 中的字符串处理为 DateTime
Process a string in TSQL to DateTime with Time Zone
我有一个带时区的日期时间格式的特定字符串。我需要使用 TimeZone 将字符串转换为 DateTime,并对其进行处理并转换为 UTC 时间。
DECLARE @T AS VARCHAR(100)
SET @T = '2018-12-04T10:23:34+05:30'
SELECT CONVERT(DATETIME,@T,127),CONVERT(DATETIME,@T) AT TIME ZONE 'UTC'
结果
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
我也尝试过不使用转换参数 127,但仍然 returns 同样的错误。
这个呢?
DECLARE @T AS VARCHAR(100)
SET @T = '2018-12-04T10:23:34+05:30';
SELECT CONVERT(datetimeoffset,@T,127)
,CONVERT(datetimeoffset,@T,127) AT TIME ZONE 'UTC'
,CAST(CONVERT(datetimeoffset,@T,127) AT TIME ZONE 'UTC' AS DATETIME2);
只需转换为 dateimeoffset
,然后转换为 UTC
。
我有一个带时区的日期时间格式的特定字符串。我需要使用 TimeZone 将字符串转换为 DateTime,并对其进行处理并转换为 UTC 时间。
DECLARE @T AS VARCHAR(100)
SET @T = '2018-12-04T10:23:34+05:30'
SELECT CONVERT(DATETIME,@T,127),CONVERT(DATETIME,@T) AT TIME ZONE 'UTC'
结果
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
我也尝试过不使用转换参数 127,但仍然 returns 同样的错误。
这个呢?
DECLARE @T AS VARCHAR(100)
SET @T = '2018-12-04T10:23:34+05:30';
SELECT CONVERT(datetimeoffset,@T,127)
,CONVERT(datetimeoffset,@T,127) AT TIME ZONE 'UTC'
,CAST(CONVERT(datetimeoffset,@T,127) AT TIME ZONE 'UTC' AS DATETIME2);
只需转换为 dateimeoffset
,然后转换为 UTC
。