zoukankan      html  css  js  c++  java
  • 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":["北京市","荆门市","青岛市"]}

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

  • 相关阅读:
    python 大小写转换函数
    linux 自学系列:GRUB引导程序
    linux 自学系列:退出linux命令
    dict 常用方法
    ln命令简单用法
    利用easy_install 工作效率提升起来
    linux 自学系列:touch 命令
    linux 改文件夹命令
    开机自动重启脚本
    multiprocessing 用法
  • 原文地址:https://www.cnblogs.com/Gorillaz/p/9024289.html
Copyright © 2011-2022 走看看