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