【www.402.com】SQL Server二〇一四 原生帮助JSON

总结:

本篇通过对SQL201陆 中的新添的放权JSON进行了简便易行介绍,主要有如下要点:

 

  • JSON能在SQLServer2016中高速的利用,然而JSON并不是原生数据类型;
  • 借使选择JSON格式必须为出口结果是表达式的提供外号;
  • JSON_VALUE 和 JSON_QUEKugaY 
    函数转移和获取Varchar格式的数额,由此必须将数据转译成你须求的类型。
  • 在测算列的拉扯下询问JSON能够动用索引实行优化。

总结:

本篇通过对SQL201陆 中的新增加的内置JSON实行了简约介绍,首要有如下要点:

 

  • JSON能在SQLServer201陆中高速的行使,不过JSON并不是原生数据类型;
  • 若是选择JSON格式必须为出口结果是表明式的提供别称;
  • JSON_VALUE 和 JSON_QUE汉兰达Y 
    函数转移和获得Varchar格式的数码,由此必须将数据转译成你需求的门类。
  • 在总结列的扶持下询问JSON能够应用索引举行优化。

SQL Server201陆 原生协助JSON

 

SQL Server 200伍 伊始帮忙 XML 数据类型,提供原生的 XML数据类型、XML
索引以及各类管理 XML 或输出 XML 格式的函数。

在 SQL Server 时隔 多个关键版本日后,终于在 Microsoft Ignite 20壹中国共产党第五次全国代表大会会上规范宣布,新一代的 SQL Server 二〇一四正式帮忙未来最流行的数据交流格式— JSON(JavaScript Object Notation)。

 

SQL Server 201陆对JSON的辅助并不是充实三个JSON数据类型,而是提供二个更轻便的框架,支持用户在数据库里管理JSON格式数据。

用户不供给更变现存的表结构,因为SQL Server使用NVA冠道CHA途锐数据类型来积存JSON文件,并且跟现存技能并行相称,举例全文字笔迹核查索、列存款和储蓄索引、in-memory
OLTP,应用程序不须要做其他修改

 

不必要动用JSON.Net那类工具分析和拍卖JSON数据,利用SQL
Server内置函数就足以管理JSON数据,轻便将查询结构输出为JSON格式,大概搜索JSON文件内容。

 


使用 JSON AUTO 输出JSON 格式

要将select语句的结果以JSON输出,最简便的不2法门是在后头加上 FO路虎极光 JSON AUTO

测试版本

Microsoft SQL Server 2016 (CTP2.2) - 13.0.407.1 (X64)   Jul 22 2015 21:19:11   Copyright (c) Microsoft Corporation  Enterprise Evaluation Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor) 

SELECT * FROM [dbo].[Client] 
GO

SELECT * FROM [dbo].[Client] FOR JSON AUTO
GO

 

www.402.com 1

 

我们得以把每列中呈现的最大字符数 设置为81九2

www.402.com 2

www.402.com 3

 


加上Root Key

一旦想为FOLX570 JSON 加上Root Key,能够应用ROOT选项来内定 Root Key 名称

SELECT * FROM [dbo].[Client] FOR JSON AUTO,ROOT('SUSU')
GO

www.402.com 4

 


使用JSON PATH 输出JSON格式

当想要自定义输出JSON格式结构的时候,必须用JSON PATH描述,若SELECT
的字段名称壹致,必须用小名方式来重新命名字段名这样才能够再而三查询

除此以外,假诺字段的默许值为NULL,那么输出JSON时,JSON会忽略null的只。要是要来得null值,能够加上INCLUDE_NULL_VALUES
选项(同样适用于JSON AUTO字句)

select * from  [dbo].[Client]

--FOR JSON PATH
SELECT * FROM [dbo].[Client] WHERE ClientID =2
FOR JSON PATH

[{"ClientID":2,"Firstname":"Peter","Lastname":"Nielsen","Birthdate":"1998-05-19T00:00:00","Email":"Peter@126.com","PhoneNumber":"+86-16326269674","Birthplace":"Stockholm","SocialSecurityNumber":"1901531234"}]

--FOR JSON PATH
SELECT * FROM [dbo].[Client] WHERE ClientID =4
FOR JSON PATH,INCLUDE_NULL_VALUES

[{"ClientID":4,"Firstname":"kade","Lastname":null,"Birthdate":"1980-01-06T00:00:00","Email":"Lotte@SOHU.com","PhoneNumber":"+86-16326269674","Birthplace":"Aalborg","SocialSecurityNumber":"1061234"}]

www.402.com 5

 

 

越来越多关于JSON的作用

当前SQL Server 201陆 CTP2对此JSON的功能支撑依旧相比单薄,举个例子内置处理JSON格式化的函数,

ISJSON(推断是还是不是是JSON格式)、JSON_VALUE(分析JSON文件并领抽取值)
、OPENJSON(将JSON文件调换为一般数据表)

那些功能要等到CTP三技术陆续推出

 

越来越多SQL Server201陆好用的成效,敬请期待o(∩_∩)o 

SQL Server2016 原生扶助JSON

 

SQL Server 200伍 开头援助 XML 数据类型,提供原生的 XML数据类型、XML
索引以及各个管理 XML 或输出 XML 格式的函数。

在 SQL Server 时隔 四个非常重要版本事后,终于在 Microsoft Ignite 二〇一五大会上专门的学问公布,新一代的 SQL Server 二零一四正式匡助以后最流行的数据交流格式— JSON(JavaScript Object Notation)。

 

SQL Server 201陆对JSON的支撑并不是充实多少个JSON数据类型,而是提供二个更轻松的框架,援助用户在数据Curry管理JSON格式数据。

用户不要求更变现成的表结构,因为SQL Server使用NVAENVISIONCHA福特Explorer数据类型来积存JSON文件,并且跟现存才干并行合作,比如全文字笔迹核算索、列存款和储蓄索引、in-memory
OLTP,应用程序不须要做其余更改

 

不供给利用JSON.Net那类工具分析和拍卖JSON数据,利用SQL
Server内置函数就能够拍卖JSON数据,轻易将查询结构输出为JSON格式,或许搜索JSON文件内容。

 


使用 JSON AUTO 输出JSON 格式

要将select语句的结果以JSON输出,最简便易行的办法是在背后加上 FORubicon JSON AUTO

测试版本

Microsoft SQL Server 2016 (CTP2.2) - 13.0.407.1 (X64)   Jul 22 2015 21:19:11   Copyright (c) Microsoft Corporation  Enterprise Evaluation Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor) 

SELECT * FROM [dbo].[Client] 
GO

SELECT * FROM [dbo].[Client] FOR JSON AUTO
GO

 

www.402.com 1

 

作者们能够把每列中显示的最大字符数 设置为81玖二

www.402.com 2

www.402.com 3

 


加上Root Key

借使想为FO智跑 JSON 加上Root Key,能够利用ROOT选项来钦点 Root Key 名称

SELECT * FROM [dbo].[Client] FOR JSON AUTO,ROOT('SUSU')
GO

www.402.com 4

 


使用JSON PATH 输出JSON格式

当想要自定义输出JSON格式结构的时候,必须用JSON PATH描述,若SELECT
的字段名称一样,必须用外号格局来重新命名字段名那样才得以承接查询

除此以外,若是字段的默许值为NULL,那么输出JSON时,JSON会忽略null的只。假诺要显示null值,能够加上INCLUDE_NULL_VALUES
选项(同样适用于JSON AUTO字句)

select * from  [dbo].[Client]

--FOR JSON PATH
SELECT * FROM [dbo].[Client] WHERE ClientID =2
FOR JSON PATH

[{"ClientID":2,"Firstname":"Peter","Lastname":"Nielsen","Birthdate":"1998-05-19T00:00:00","Email":"Peter@126.com","PhoneNumber":"+86-16326269674","Birthplace":"Stockholm","SocialSecurityNumber":"1901531234"}]

--FOR JSON PATH
SELECT * FROM [dbo].[Client] WHERE ClientID =4
FOR JSON PATH,INCLUDE_NULL_VALUES

[{"ClientID":4,"Firstname":"kade","Lastname":null,"Birthdate":"1980-01-06T00:00:00","Email":"Lotte@SOHU.com","PhoneNumber":"+86-16326269674","Birthplace":"Aalborg","SocialSecurityNumber":"1061234"}]

www.402.com 5

 

 

愈来愈多关于JSON的作用

当前SQL Server 2016 CTP二对于JSON的功能协助仍旧比较单薄,举例内置处理JSON格式化的函数,

ISJSON(推断是或不是是JSON格式)、JSON_VALUE(分析JSON文件并领收取值)
、OPENJSON(将JSON文件转变为常见数据表)

这个意义要等到CTP叁技巧陆续推出

 

越多SQL Server201六好用的职能,敬请期待o(∩_∩)o 

相关文章