首页 > 技术文章 > Query a JSON array in SQL

huangyoum 2019-03-05 16:14 原文

sql 中存的json 为数组:

[{"Level":1,"Memo":"新用户"},{"Level":2,"Memo":"真实用户"}]

sql 怎么取?JSON_VALUE 需要'$[0].Level' 不灵活

解决方案:

SELECT *
FROM Setting c
CROSS APPLY OPENJSON(c.Value) WITH (Lv INT '$.Level',Memo NVARCHAR(100) '$.Memo') AS jsonValues
WHERE c.Name='Levels' and jsonValues.Lv = 2;

 

PS:OPENJSON 不能正常使用 执行下面代码

ALTER DATABASE DatabaseName SET COMPATIBILITY_LEVEL = 130

 

 

推荐阅读