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格式

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

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

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

3  JSON PATH输出:

4  JSONPATH+ROOT输出:

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

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

二、  解析JSON格式的数据

1 使用OPENJSON()函数:

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

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

转载于:https://www.cnblogs.com/JinweiChang/p/10461797.html

SQL Server 2016新特性: 对JSON的支持相关推荐

  1. SQL Server 2016新特性:列存储索引新特性

    SQL Server 2016新特性:列存储索引新特性 行存储表可以有一个可更新的列存储索引,之前非聚集的列存储索引是只读的. 非聚集的列存储索引支持筛选条件. 在内存优化表中可以有一个列存储索引,可 ...

  2. SQL Server 2016新特性:Live Query Statistics

    SSMS可以提供可以查看正在执行的计划.live query plan可以查看一个查询的执行过程,从一个查询计划操作到另外一个查询计划操作.live query plan提供了整体的查询运行进度和操作 ...

  3. SQL Server - SQL Server 2016新特性之 --- Query Store

    前言 SQL Server 2016引入新的查询语句性能监控.调试和优化工具/功能 -- Query Store.以前我们发现一条查询语句性能突然下降,我们要去找出问题的所在往往需要通过调用一些DMV ...

  4. SQL Server 2016新特性:Query Store

    使用Query Store监控性能 SQL Server Query Store特性可以让你看到查询计划选择和性能.简化了性能调优,可以快速的发现因为查询计划的选择导致的性能的差别.Query Sto ...

  5. SQL Server 2016 新功能之综述

    冬去春来,发现之前最后一篇写在2012年,又过去了5年了,时间如飞啊.那时候SQL 2012 发布让人兴奋了一把,哪知道时间如刀,刀刀催人老啊,今天SQL 2016都发布了很久了,很快SQL On l ...

  6. 云世界,一切如梦幻,数据也玩虚拟化。 SQL Server 2019 新特性系列一:数据虚拟化

    SQL Server 2019 新特性系列一:数据虚拟化 最新更新 SQL Server已经到了CTP2.2版本,主要更新了如下功能: 大数据集群:在大数据群集上使用 azure 数据工作室中的 sp ...

  7. Sql Server 2016新功能之Row-Level Security(值得关注)

    Sql Server 2016 有一个新功能叫 Row-Level Security ,大概意思是行版本的安全策略(原来我是个英语渣_(:з」∠)_) 直接上例子.这个功能相当通过对表添加一个函数作为 ...

  8. SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一)

    SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一) 从开始SQL Server 2019 预览,SQL Server 大数据群集允许你部署的 Kubernetes 上 ...

  9. 新年新气象,从SQL Server 2019新特性开始!

    SQL Server 2019新特性开篇概述 2019年了,新年伊始,SQL Server 2019已经到CTP 2.1 ,一直没有认真的学习SQL Server 2019 ,既然是新年新气象,就从新 ...

  10. sql server 2008新特性:资源调控器

    sql server 2008新特性:资源调控器 来源:csdn:http://blog.csdn.net/xiaoxu0123/archive/2011/02/10/6177265.aspx 资源调 ...

最新文章

  1. C#编写的生成缩略图程序
  2. DrawText函数
  3. Linux堆内存管理深入分析
  4. J2EE Architecture(4)
  5. 改变照片分辨率的软件_AI黑科技竟如此强大,模糊照片无损放大600%变得更清晰!...
  6. IBM在欧洲启动“智能云”研发计划
  7. CC254x--OSAL
  8. 论文学习20-End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF(序列标注,2016ACL
  9. JavaScript核心语法学习部分(七)
  10. PHP设计模式——迭代器模式
  11. Linux设备驱动程序和设备文件
  12. ai跟随路径_AI教程:如何沿着对象的路径输入文字?
  13. spine 局部换装
  14. 老飞飞魅力飞飞关于攻击辅助研究带易语言源码视频教程
  15. BZOJ1189: [HNOI2007]紧急疏散evacuate(二分答案,最大流)
  16. Android文件存储编程实验,Android编程中File文件常见存储与读取操作demo示例
  17. banner自适应屏幕代码
  18. JS判断一个数是否为质数(素数)
  19. 如何通过企业微信、飞书、钉钉消息通知接收双因子认证动态密码?
  20. 颜色的前世今生21·Lab编码系统

热门文章

  1. Ubuntu远程办公 -- 设置SSH服务
  2. Selenium爬虫 -- 操控滚动条方法
  3. android删除重复照片,android 删除重复文件
  4. mysql高可用方案之主从同步+MHA高可用
  5. 打造轻量级的实体类数据容器
  6. 医学统计学基础——第一讲
  7. JavaScript数组forEach循环
  8. Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上
  9. C++深度探索系列:智能指针(Smart Pointer) [一] (转)
  10. 让系统“飞”起来 读懂电脑虚拟内存常遇问题