SQL Server json数组字段的json字段查询
json
·
场景描述
有一个School表,里面有一个字段:person nvarchar(max),该字段保存如下类型的json数据,现在需要查询出包含"阿斯蒂芬"的记录。
[
{
"Id": 7933680100970752,
"Name": "阿斯蒂芬"
},
{
"Id": 7933680101232896,
"Name": "阿斯蒂芬2"
}
]
SQL示例
SELECT
School.Id,
JSON_VALUE(PersonInfo.value,'$.Name') AS PersonName
FROM School CROSS APPLY OPENJSON (School.person) AS PersonInfo
WHERE JSON_VALUE(PersonInfo.value,'$.Name') = '阿斯蒂芬'
--同样支持模糊查询
--AND JSON_VALUE(PersonInfo.value,'$.Name') like '阿%'
查询结果
选一个id确认一下上面的结果是否正确:
select Id,person
from School
WHERE id = 7933680107196682
查询结果
可以看到id为7933680107196682的记录确实包含了“阿斯蒂芬”这个名字
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)