2
如何从VARCHAR(MAX)
JSON阵列中删除对象?JSON_MODIFY删除阵列对象
DECLARE @Json VARCHAR(MAX) =
JSON_QUERY('[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"}]')
SELECT @Json
DECLARE @NewJson VARCHAR(MAX) =
JSON_QUERY('{"u":"user3","i":"item3"}')
SELECT @NewJson
结果
[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"}]
{"u":"user3","i":"item3"}
追加@NewJson
到@Json
SELECT JSON_MODIFY(@Json, 'append $', JSON_QUERY(@NewJson))
结果
[{"u":"user1","i":"item1"},{"u":"user2","i":"item2"},{"u":"user3","i":"item3"}]
一切都好。从@Json
SELECT JSON_MODIFY(@Json, '$[0]', NULL)
结果
[null,{"u":"user2","i":"item2"}]
删除索引0
我不想指数0
为空。我希望它被删除。
我在the docs中找不到任何说明如何从数组中删除对象的内容。
漂亮哈克,但我想它的工作原理如果TSQL不提供本机功能。 – kspearrin