SQL Server 2016新特性: 对JSON的支持

原创 2016年06月01日 17:15:29


         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选项,自定义输出列:




sql server2008支持json函数以及2016版内置json函数

一、sql server2008支持json函数 1。json 转化成数据集合 1)转化用函数 CREATE FUNCTION [dbo].[parseJSON]( @JSON NVARCHAR(M...
  • danfeixia
  • danfeixia
  • 2016年12月23日 21:49
  • 3285

尝试一下sql server2016里面的json功能

 前2天下载了一个2016的rc版本来玩一下,首先感觉是~开发者版本免费啦!!撒花!!!另外一个东西,sql server 2016能支持json 的解析和应用啦,虽然我不知道它的性能如何,先来...
  • eit520
  • eit520
  • 2016年04月21日 22:16
  • 3258

SQL Server 2016新特性: 对JSON的支持

SQL Server 2005开始支持XML数据类型,提供原生的XML数据类型、XML索引及各种管理或输出XML格式的函数。随着JSON的流行,SQL Server2016开始支持JSON数据类型,...
  • Burgess_Liu
  • Burgess_Liu
  • 2016年06月01日 17:15
  • 4007

[MSSQL]SQL Server2016 原生支持JSON

SQL Server 2005 开始支持 XML 数据类型,提供原生的 XML数据类型、XML 索引以及各种管理 XML 或输出 XML 格式的函数。在 SQL Server 时隔 4 个主要版本之后...
  • david_520042
  • david_520042
  • 2015年10月14日 14:49
  • 2439

SQL Server 2016 新功能之综述

SQL Server2016 新功能之综述 冬去春来,发现之前最后一篇写在2012年,又过去了5年了,时间如飞啊。那时候SQL 2012 发布让人兴奋了一把,哪知道时间如刀,刀刀催人老啊,今天SQ...
  • capsicum29
  • capsicum29
  • 2017年02月18日 15:10
  • 2588

SQL Server 2016新特性: Temporal table

曾经我们遇过,误删(或更新)数据的情况,补救措施通常是还原数据库,然后把数据还原回来,整个过程比较繁琐耗时。SQL Server 2016引入了一个新的功能,即Temporaltable,我们可以称...
  • Burgess_Liu
  • Burgess_Liu
  • 2016年06月02日 08:12
  • 2013

SQL Server2016各类版本的区别

微软 SQL Server 2016 正式版将分为四个版本,分别是企业版 (Enterprise)、标准版(Standard)、速成版(Express)和开发人员版本(Developer)。其中,和 ...
  • fishlookbird
  • fishlookbird
  • 2017年03月27日 10:17
  • 7551

尝试一下sql server2016里面的json功能

前2天下载了一个2016的rc版本来玩一下,首先感觉是~开发者版本免费啦!!撒花!!!另外一个东西,sql server 2016能支持json 的解析和应用啦,虽然我不知道它的性能如何,先来一发测试...
  • KanzakiOrange
  • KanzakiOrange
  • 2016年05月05日 17:24
  • 318

Sql Server 2016中增加了对JSON的内置支持

在SQL Server 2016中,可以使用FOR JSON子句把数据表直接生成为JSON字符串,反过来可以使用OPENJSON来把JSON数据解析为表变量,这大大方便了在数据库中处理非结构化数据。但...
  • betreex
  • betreex
  • 2016年01月22日 15:41
  • 946

SQL Server 2012 2016 2017 新增函数

/************************************************************** SQL Server 2012 新增的函数 **************...
  • kk185800961
  • kk185800961
  • 2017年10月10日 19:39
  • 1176
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 2016新特性: 对JSON的支持
举报原因:
原因补充:

(最多只允许输入30个字)