我正在使用来自 logicapp 事件的 json,它具有以下格式的日期时间属性
在带有 OPENJSON Sql 函数 的存储过程中。
当我使用此函数执行“SELECT”时,它因此错误而失败
我的观察是 OPENJSON 无法转换第 3 位数字后的毫秒部分。
问题
有没有人看到 OPENJSON SQL 函数有这样的问题?
最佳答案
如果 DateTime2
,你应该没有问题
示例
select AsDT2 = try_convert(datetime2,'2017-07-12T17:14:16.0500772Z')
,AsDT = try_convert(datetime, '2017-07-12T17:14:16.0500772Z')
返回
AsDT2 AsDT
2017-07-12 17:14:16.0500772 NULL --<< Fails DateTime conversion
实际转换
Declare @JSON varchar(max) = '{"startTime": "2017-07-12T17:14:16.0500772Z","endTime": "2017-07-12T17:14:17.2939322Z"}'
SELECT * FROM
OPENJSON (@JSON )
WITH (
startTime datetime2 '$.startTime',
endTime datetime2 '$.endTime'
)
查看实际操作 dbFiddle
关于sql-server - OPENJSON 函数中的日期时间转换失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45196313/