Сейчас я работаю над преобразованием объекта datetime в JSON-массив из нескольких объектов для вставки в SQL-сервер таблицы. Проблема в том, что объект datetime содержит знак часового пояса '+'
или '-'
и 'T'
для следующего времени:
"2018-05-04T10:31:31.134+06:30"
Я бы хотел вставить указанное выше значение непосредственно в DATETIME
объект в таблице из SQL Server. В то время ОШИБКА равна
'Преобразование не удалось при преобразовании даты и / или времени из символа
строка ".
Я уже пробовал следующим образом.
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. Я хотел бы преобразовать формат datetimeoffset массива JSON для нескольких объектов в datetime, например
'[{"EntryDateTime":"2018-05-04T10:31:31.134+06:30"},{"EntryDateTime":"2018-05-05T09:13:00.134+06:30"}]'