【发布时间】:2018-06-20 08:19:07
【问题描述】:
是否可以通过以下方式更改 sub-json-data 的值?
DECLARE @json NVARCHAR(MAX) = "{"message":"Machine is down","machineId":"165ACE37-4E2C-4D44-9D14-F9E2CB2C2C13","machineName":"1501","ipAddress":"192.168.150.101","time":"2018-05-20T18:33:23.171"}"
SELECT * FROM OPENJSON(@json)
WITH ( message varchar(200) '$.message',
machineId varchar(200) '$.machineId',
machineName int '$.machineName',
ipAddress varchar(200) '$.ipAddress',
LocalTime datetime2(7) '$.time'
) AS ChangeTime
我想更改我创建的 LocalTime 变量,然后替换当前的。
我想从 $.time 参数中删除两个小时。
类似这样的:
UPDATE Table SET ChangeTime.LocalTime = DATEADD(hour,-2,ChangeTime.LocalTime)
输入:" time":"2018-05-20T18:33:23.171"
输出:
"time":"2018-05-20T16:33:23.171"
我将如何做到这一点?
【问题讨论】:
标签: json sql-server tsql