SQLserver2016对字段是json对象查询

现在2016内置对json对象的查询支持了.正好项目中用到,做个备忘

如果字段内容是:

[{"tagid":"100015","orderid":"0","tagname":"法律服务","taglevel":"3"},{"tagid":"110035","orderid":"0","tagname":"政策法规","taglevel":"3"}]

这样的json

sql语句:

SELECT AId,GovLable ,ProductArra.tagname FROM dbo.Tab_GovArticleLableRel CROSS APPLY OPENJSON (Tab_GovArticleLableRel.ProcuctLable)

WITH (tagid INT N'$.tagid', 
orderid INT N'$.orderid',
tagname NVARCHAR (200) N'$.tagname',
taglevel INT N'$.taglevel'

) AS ProductArra
WHERE ProductArra.tagid='100015'

如果字段是:

{"prov":[{"pname":"贵州"},{"pname":"江苏"}],"city":[{"cname":"北京市"},{"cname":"荆门市"}]}

sql语句:

SELECT AId,GovLable ,AreaLableArraProv.pname,AreaLableArraCity.cname
FROM dbo.Tab_GovArticleLableRel
CROSS APPLY OPENJSON (Tab_GovArticleLableRel.AreaLable,N'$.prov')
WITH (pname nvarchar(max) N'$.pname') AS AreaLableArraProv
CROSS APPLY OPENJSON (Tab_GovArticleLableRel.AreaLable,N'$.city')
WITH (cname nvarchar(max) N'$.cname') AS AreaLableArraCity
WHERE AreaLableArraProv.pname='贵州'AND AreaLableArraCity.cname='荆门市'

如果字段是:

{"prov":["贵州","江苏","新疆","湖北","山东","山西","北京","安徽","河南","福建","上海"],"city":["北京市","荆门市","青岛市"]}

根据数组内容查询,还不会..

转载于:https://www.cnblogs.com/Gorillaz/p/9024289.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值