'从字符串转换日期和/或时间时转换失败。'从SQL Server中的JSON转换时发生错误

时间:2018-05-08 02:40:41

标签: json sql-server tsql datetime

我现在正在努力将多对象JSON数组中的datetime对象转换为插入表SQL服务器。问题是datetime对象包含时区符号'+''-''T'的时间如下:

"2018-05-04T10:31:31.134+06:30"

我想将上述值直接插入SQL Server表中的DATETIME对象。那时, ERROR

  

'从字符转换日期和/或时间时转换失败   。字符串'

我已经尝试过以下方式。

DECLARE @json NVARCHAR(MAX) = '{"EntryDateTime":"2018-05-04T10:31:31.134+06:30"}';
DECLARE @tmp AS NVARCHAR(MAX)

SET @tmp= CONVERT(datetime2(3), JSON_VALUE(@json,'$.EntryDateTime'))
SET @json = JSON_MODIFY(@json, '$.EntryDateTime', @tmp)

print @json

但它仅适用于一个JSON对象。我想将多对象JSON数组的datetimeoffset格式转换为日期时间,如

'[{"EntryDateTime":"2018-05-04T10:31:31.134+06:30"},{"EntryDateTime":"2018-05-05T09:13:00.134+06:30"}]'

0 个答案:

没有答案