zoukankan      html  css  js  c++  java
  • SQL Server 2016新特性: 对JSON的支持

    

             SQL Server 2005开始支持XML数据类型,提供原生的XML数据类型、XML索引及各种管理或输出XML格式的函数。随着JSON的流行,SQL Server2016开始支持JSON数据类型,不仅可以直接输出JSON格式的结果集,还能读取JSON格式的数据。对于有用到JSON格式的应用程式来说,这无疑是一利器,因为不再需要使用JSON.Net这类工具进行分析和处理JSON数据,直接利用SQL Server内置函数就可以处理,轻松将查询结果输出为JSON格式,或者搜索JSON文件内容。下面通过实例的方式,展现SQL Server 2016这一新功能。


    下面是我们熟悉的SELECT及输出格式,后面对JSON的演示基于此SQL



    一、  将查询结果输出JSON格式

    要将SELECT语句的结果以JSON输出,最简单的方法是在后面加上FOR JSON AUTO:


    若要为FOR JSON加上Root Key,可以用ROOT选项来自定义ROOT Key的名称:


    若要自定义输出JSON格式的结构是,必须使用JSONPATH。若SELECT的列中,存在列名名称相同时,必须用别名重命名才能正常查询,否则会报类似下面错误提示:


    3  JSON PATH输出:


    4  JSONPATH+ROOT输出:

    NULL的数据在输出JSON时,会被忽略,若想要让NULL的字段也显示出来,可以加上选项INCLUDE_NULL_VALUES,该选项也适用于AUTO


    带有层级关系的,可以增加节点,比如下面的SQL,增加了一个“SN”节点,把栏位SERNUMCLIMAT放在里面:


    二、  解析JSON格式的数据

    使用OPENJSON()函数:


    通过WITH选项,自定义输出列:





    转载来源:https://blog.csdn.net/Burgess_Liu/article/details/51557331

  • 相关阅读:
    Codeforces 834D The Bakery
    hdu 1394 Minimum Inversion Number
    Codeforces 837E Vasya's Function
    Codeforces 837D Round Subset
    Codeforces 825E Minimal Labels
    Codeforces 437D The Child and Zoo
    Codeforces 822D My pretty girl Noora
    Codeforces 799D Field expansion
    Codeforces 438D The Child and Sequence
    Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D)
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/10461797.html
Copyright © 2011-2022 走看看