澳门贵宾会注册送豪礼【SqlServer】JSON函数

SQL Server
二零零六方始援救XML数据类型,提供原生的XML数据类型、XML索引及各类管理或输出XML格式的函数。随着JSON的风行,SQL
Server二〇一五起先扶植JSON数据类型,既可以够直接出口JSON格式的结果集,还能够读取JSON格式的多少。

1   概述

1 概述

 本篇文件将结合MSND简要解析Sqlserver中JSON函数,重要归纳ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY。

本篇文件将结合MSND简要深入分析Sqlserver中JSON函数,主要不外乎ISJSON,JSON_VALUE,JSON_MODIFY,JSON_QUERY。

2   具体内容

2 具体内容

2.1  JSON 函数

2.1 JSON 函数

使用本节中页面中叙述的功效来证实或改善JSON文本或提取轻巧或复杂的值。

行使本节中页面中描述的效用来验证或修正JSON文本或提取简单或复杂的值。

澳门贵宾会注册送豪礼 1

有关在SQL Server中放到JSON扶持的越多消息,请参阅JSON数据。

有关在SQL Server中寄放JSON协理的越多音讯,请参阅JSON数据(SQL
Server)。

2.2 ISJSON

2.2  ISJSON

测量试验字符串是或不是含有有效的JSON。

测量试验字符串是还是不是带有有效的JSON。

2.2.1 例子

澳门贵宾会注册送豪礼 2

2.3 JSON_VALUE

 

从JSON字符串中提取标量值。

2.2.1  例子

要从JSON字符串并非标量值中提取对象或数组,请参阅JSON_QUERY。有关JSON_VALUE和JSON_QUEKugaY之间的分歧的音信,请参阅比较JSON_VALUE和JSON_QUERY。

澳门贵宾会注册送豪礼 3

2.4 JSON_QUERY

澳门贵宾会注册送豪礼 4

从JSON字符串中提取对象或数组。

2.3  JSON_VALUE

要从JSON字符串实际不是目的或数组中提取标量值,请参阅JSON_VALUE。有关JSON_VALUE和JSON_QUE哈弗Y之间的分化的消息,请参阅比较JSON_VALUE和JSON_QUERY。

从JSON字符串中提取标量值。

2.5 JSON_MODIFY

要从JSON字符串并不是标量值中提取对象或数组,请参阅JSON_QUERY(Transact-SQL)。有关JSON_VALUE和JSON_QUELANDY之间的差异的音信,请参阅比较JSON_VALUE和JSON_QUERY。

改革JSON字符串中的属性值,并回到更新的JSON字符串。

澳门贵宾会注册送豪礼 5

小结

澳门贵宾会注册送豪礼 6

3 参谋文献

 

4 版权

 澳门贵宾会注册送豪礼 7

感激您的翻阅,若有白玉微瑕,款待指教,协作学习、协同进步。

 

以下是一对补充

2.4  JSON_QUERY

上面是我们潜濡默化的SELECT及出口格式,前边对JSON的言传身教基于此SQL:

从JSON字符串中领到对象或数组。

2、FO途睿欧 JSON AUTO,Root :为JOSN加上根节点若要为FO奥迪Q7 JSON加上Root
Key,能够用ROOT选项来自定义ROOT 节点的称谓:

要从JSON字符串实际不是目的或数组中领到标量值,请参阅JSON_VALUE(Transact-SQL)。有关JSON_VALUE和JSON_QUE福特ExplorerY之间的歧异的新闻,请参阅比较JSON_VALUE和JSON_QUERY。

3、FO福睿斯 JSON
PATH输出:可经过列小名来定义JSON对象的档期的顺序布局若要自定义输出JSON格式的组织时,必须利用JSONPATH。

 澳门贵宾会注册送豪礼 8

FO福特Explorer JSON
Auto,自动依据查询语句中使用的表布局来创立嵌套的JSON子数组,相像于For
Xml Auto性子。 FO普拉多 JSON
帕特h,通过列名可能列别称来定义JSON对象的档次构造,列别名中得以分包“.”,JSON的分子档期的顺序布局将会与外号中的档案的次序构造保持一致。

澳门贵宾会注册送豪礼 9

其一性子特别临近于先前时代SQL Server版本中的For Xml
Path子句,能够利用斜线来定义xml的档案的次序构造。

 

4、FO奥迪Q7 JSON PATH+ROOT输出:为JOSN加上根节点

 2.5  JSON_MODIFY

5、INCLUDE_NULL_VALUES:值null的字段需求展现现身。为NULL的数码在出口JSON时,会被忽略,若想要让NULL的字段也展现出来,能够加上选项INCLUDE_NULL_VALUES,该选取也适用于AUTO。

立异JSON字符串中的属性值,并赶回更新的JSON字符串。

6、列的小名,能够扩大带有层级关系的节点。举例上边的SQL,扩大了三个“SN”节点,把栏位SE传祺NUM和CLIMAT放在里面:

 澳门贵宾会注册送豪礼 10

二、 解析JSON格式的数据

澳门贵宾会注册送豪礼 11

1、使用OPENJSON()函数:

澳门贵宾会注册送豪礼 12

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

小结

三、JSON函数

澳门贵宾会注册送豪礼 13

declare @param nvarchar(max);set @param = N'{ "info":{ "type":1, "address":{ "town":"Bristol", "county":"Avon", "country":"England" }, "tags":["Sport", "Water polo"] }, "type":"Basic" }';

3   参谋文献

1、ISJSON:测量试验字符串是或不是带有有效 JSON。

 【01】

print iif(isjson(@param) 0, ‘OK’, ‘NO’);

4   版权

返回:OK

 

2、JSON_VALUE :从 JSON 字符串中领取标量值。

  • 感激您的开卷,若有白璧微瑕,款待指教,合作学习、协作提高。
  • 博主网站:
  • 极少一些小说利用读书、参谋、引用、抄袭、复制和粘贴等八种主意结合而成的,当先二分一为原创。
  • 如你向往,麻烦推荐一下;如您有新主见,迎接提议,邮箱:二零一六177728@qq.com。
  • 能够转发该博客,但不得不有名博客来源。

print json_value(@param, ‘$.info.address.town’);print
json_value(@param, ‘$.info.tags[1]’);

返回:Bristol,Water polo

3、JSON_QUELANDY :从 JSON 字符串中领到对象或数组。

print json_query(@param, ‘$.info’);

{ "type":1, "address":{ "town":"Bristol", "county":"Avon", "country":"England" }, "tags":["Sport", "Water polo"] }

4、JSON_MODIFY :更新 JSON 字符串中属性的值,并重返已更新的 JSON
字符串。

print json_modify(@param, ‘$.info.address.town’, ‘London’);

返回:

{ "info":{ "type":1, "address":{ "town":"London", "county":"Avon", "country":"England" }, "tags":["Sport", "Water polo"] }, "type":"Basic" }

四、注意事项

SQL2015 中的新添的嵌入JSON进行了简介,首要有如下要点:

JSON能在SQLServer二〇一六中飞速的施用,不过JSON并不是原生数据类型;
假诺接纳JSON格式必需为出口结果是表明式的提供别称; JSON_VALUE 和
JSON_QUE福特ExplorerY
函数转移和取得Varchar格式的数额,由此必须将数据转译成你要求的连串。
在总结列的扶助下询问JSON能够行使索引进行优化。

好了那篇小说就介绍到这了,供给的对象能够参见一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注