使用sql语句替换Json类型的列中两个值

使用sql语句替换Json类型的列中两个值。

替换目标字段
1
2
3
4
5
6
7
8
UPDATE
SET JsonResult = JSON_MODIFY(
CAST(JsonResult AS nvarchar(max)),
'$.目标字段',
JSON_VALUE(CAST(JsonResult AS nvarchar(max)), '$.原字段')
)
WHERE ISJSON(CAST(JsonResult AS nvarchar(max))) = 1
AND JSON_VALUE(CAST(JsonResult AS nvarchar(max)), '$.原字段') IS NOT NULL;
清空原值
1
2
3
4
5
6
 UPDATE
SET JsonResult = JSON_MODIFY(
CAST(JsonResult AS nvarchar(max)),
'$.原字段', ''
)
WHERE ISJSON(CAST(JsonResult AS nvarchar(max))) = 1;