【SqlServer系列】JSON数据

作者: 数据库信息  发布:2019-06-26
 1 SELECT Tab.Id, SalesOrderJsonData.Customer, SalesOrderJsonData.Date  
 2 FROM   SalesOrderRecord AS Tab  
 3           CROSS APPLY  
 4      OPENJSON (Tab.json, N'$.Orders.OrdersArray')  
 5            WITH (  
 6               Number   varchar(200) N'$.Order.Number',   
 7               Date     datetime     N'$.Order.Date',  
 8               Customer varchar(200) N'$.AccountNumber',   
 9               Quantity int          N'$.Item.Quantity'  
10            )  
11   AS SalesOrderJsonData  
12 WHERE JSON_VALUE(Tab.json, '$.Status') = N'Closed'  
13 ORDER BY JSON_VALUE(Tab.json, '$.Group'), Tab.DateModified

 SQL Server 提供混合模型,用于通过正式 Transact-SQL 语言存款和储蓄和拍卖关周全据与 JSON 数据。 能够将 JSON 文档的会见协会到表中,在它们中间营造关联,将表中存款和储蓄的强类型标量列与 JSON 列中蕴藏的灵活键/值对统一,以及使用完整 Transact SQL 查询一个或三个表中的标量值和 JSON 值。

借使非得筛选或聚合 JSON 数据以用于报告,能够动用 OPENJSON 将 JSON 转换为涉及格式。 然后,使用标准 Transact-SQL 和停放函数来计划报告。

澳门金莎娱乐网站 ,能够在同三个查询中运用标准表列和来自 JSON 文本的值。 能够在 JSON_VALUE(Tab.json, '$.Status') 表明式上增加索引以进步查询的习性。 有关详细音讯,请参阅 对 JSON 数据编写制定索引。

澳门金莎娱乐网站 1

以下用例表达如何在 SQL Server中央银行使内置的 JSON 援助。

3   参照他事他说加以调查文献

“应用程序池:” FOSportage JSON 子句将 SQL 结果的格式设置为 JSON 文本,该格式可提供给识别 JSON 的其余利用。 PATH 选项在 SELECT 子句中央银行使以点分隔的小名,以嵌套查询结果中的对象。

2.2  将 SQL Server 数据转变为 JSON 或导出 JSON

2.7 将 JSON 文件加载到 SQL Server

 

因而将 FO瑞鹰JSON 子句加多到 SELECT 语句中,可将 SQL Server 数据或 SQL 查询结果的格式设置为 JSON。 使用 FORubicon JSON 委托从客户端应用程序到 SQL Server 的 JSON 输出格式。 有关详细消息,请参阅 借助于 FOCRUISER JSON 将查询结果的格式设置为 JSON (SQL Server)。

JSON 是一种流行的数目格式,用于在今世 Web 和平运动动应用程序中交流数据。 JSON 还可用以在 Microsoft Azure DocumentDB 等 NoSQL 数据库中存款和储蓄非结构化数据。 好些个 REST Web 服务以 JSON 文本格式再次回到结果,或接受选拔 JSON 格式的多寡。 举例,大许多 Azure 服务(如 Azure 寻觅、Azure 存款和储蓄和 Azure DocumentDb)都提供再次来到或使用 JSON 的 REST 终结点。 JSON 也是用于通过 AJAX 调用在网页与 Web 服务器之间沟通数据的重大格式。

以下示例使用 PATH 形式和 FO猎豹CS6 JSON 子句。

1 SELECT id, firstName AS "info.name", lastName AS "info.surname", age, dateOfBirth as dob  
2 FROM People  
3 FOR JSON PATH
  • 请求: /Northwind/Northwind.svc/Products(1)?$select=ProductID,ProductName

  • 响应: {"@odata.context":"http://services.odata.org/V4/Northwind/Northwind.svc/$metadata#Products(ProductID,ProductName)/$entity","ProductID":1,"ProductName":"Chai"}

    此 OData U奥迪Q5L 代表针对 ID 为 1 的产品的 ProductID 和 ProductName 列的呼吁。 可以运用 FO凯雷德 JSON 按 SQL Server 中所需的格式设置输出格式。

    1 SELECT '' 2 AS '@odata.context',
    3 ProductID, Name as ProductName
    4 FROM Production.Product
    5 WHERE ProductID = 1
    6 FOR JSON AUTO

澳门金莎娱乐网站 2

 

外表 REST 服务能够提供 JSON 变量的源委,那一个剧情将从客户端 JavaScript 框架当作参数发送,或然从表面文件加载。 你能够在 SQL Server 表中轻轻巧松插入、更新或联合来自 JSON 文本的结果。 有关此方案的详细新闻,请参阅以下博客小说。

比方,你只怕想要生成符合 OData 标准的 JSON 输出。 Web 服务须要采取以下格式的诉求和响应。

2.6 将 JSON 数据导入 SQL Server 表

  • 多谢您的开卷,若有不足之处,应接指教,共同学习、共同进步。
  • 博主网站:
  • 极少一些小说利用读书、参照他事他说加以考察、援引、抄袭、复制和粘贴等三种措施组成而成的,大多数为原创。
  • 如你喜爱,麻烦推荐一下;如您有新主张,迎接提议,邮箱:二〇一六177728@qq.com。
  • 能够转发该博客,但不能够不有名博客来源。
 1 DECLARE @json NVARCHAR(MAX)
 2 SET @json =  
 3 N'[  
 4        { "id" : 2,"info": { "name": "John", "surname": "Smith" }, "age": 25 },  
 5        { "id" : 5,"info": { "name": "Jane", "surname": "Smith" }, "dob": "2005-11-04T12:00:00" }  
 6  ]'  
 7 
 8 SELECT *  
 9 FROM OPENJSON(@json)  
10   WITH (id int 'strict $.id',  
11         firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname',  
12         age int, dateOfBirth datetime2 '$.dob')

2.8  测验驱动内置的 JSON 辅助

4   版权

动用 AdventureWorks 示例数据库测验驱动内置 JSON 扶助。 若要获得 AdventureWorks 示例数据库,必须从 此处。 将示例数据库还原到 SQL Server 二零一六实例后,请解压缩示例文件,然后从 JSON 文件夹中开发“JSON Sample Queries procedures views and indexes.sql”文件。 运转此文件中的脚本,将或多或少现存数量的格式重新安装为 JSON 数据,对 JSON 数据运维示例查询和告诉,为 JSON 数据编写制定索引,然后导入和导出 JSON。

  • Importing JSON data in SQL Server
  • Upsert JSON documents in SQL Server 2016
  • Loading GeoJSON data into SQL Server 2016。
 1 DECLARE @jsonVariable NVARCHAR(MAX)
 2 
 3 SET @jsonVariable = N'[  
 4         {  
 5           "Order": {  
 6             "Number":"SO43659",  
 7             "Date":"2011-05-31T00:00:00"  
 8           },  
 9           "AccountNumber":"AW29825",  
10           "Item": {  
11             "Price":2024.9940,  
12             "Quantity":1  
13           }  
14         },  
15         {  
16           "Order": {  
17             "Number":"SO43661",  
18             "Date":"2011-06-01T00:00:00"  
19           },  
20           "AccountNumber":"AW73565",  
21           "Item": {  
22             "Price":2024.9940,  
23             "Quantity":3  
24           }  
25        }  
26   ]'
27 
28 INSERT INTO SalesReport  
29 SELECT SalesOrderJsonData.*  
30 FROM OPENJSON (@jsonVariable, N'$.Orders.OrdersArray')  
31            WITH (  
32               Number   varchar(200) N'$.Order.Number',   
33               Date     datetime     N'$.Order.Date',  
34               Customer varchar(200) N'$.AccountNumber',   
35               Quantity int          N'$.Item.Quantity'  
36            )  
37   AS SalesOrderJsonData;

假定必须将 JSON 数据从外表服务加载到 SQL Server,则足以选用 OPENJSON 将数据导入 SQL Server,而非分析应用程序层中的数据。

 

此询问的输出是完全符合 OData 规范的 JSON 文本。 格式设置和转义由 SQL Server 管理。 SQL Server 还可将查询结果的格式设置为任何格式,如 OData JSON 或 吉优JSON - 有关详细新闻,请参阅 Returning spatial data in GeoJSON format(以 吉优JSON 格式重临空间数据)。

本文将结合MSDN简要概述JSON数据。

 【01】

2.4 从格式化为 JSON 的 SQL Server 表重回数据

2   具体内容

澳门金莎娱乐网站 3

澳门金莎娱乐网站 4

2.1  将 JSON 集合转变为行集

2.3  合併关周密据和 JSON 数据

1   概述

澳门金莎娱乐网站 5

只要在只有的 JSON 职业负荷中,你想要使用专项使用于管理 JSON 文书档案的自定义查询语言,可以设想 Microsoft Azure DocumentDB。

假设您的 Web 服务从数量库层提取数额并以 JSON 格式重临数据,大概在收受已格式化为 JSON 的多寡的 JavaScript 框架或库中回到数据,则能够一贯在 SQL 查询中安装 JSON 输出的格式。 你能够运用 FO揽胜极光 JSON 将 JSON 格式设置委托给 SQL Server,而非编写代码或然隐含一个库来调换表格查询结果对象,然后将对象种类化为 JSON 格式。

  • 假如 JSON 文书档案存款和储蓄在可由 SQL Server 访问的当三步跳件、分享互连网驱动器或 Azure 文件存款和储蓄地点,能够行使批量导入将 JSON 数据加载到 SQL Server。 有关此方案的详细音信,请参阅 Importing JSON files into SQL Server using OPENROWSET (BULK)(使用 OPENROWSET (BULK) 将 JSON 文件导入 SQL Server)。

  • 举个例子行分隔的 JSON 文件存款和储蓄在 Azure Blob 存款和储蓄或 Hadoop 文件系统中,你可以选用 Polybase 来加载 JSON 文本,在 Transact-SQL 代码中分析文本,然后将其载入表中。

下边是您能够对该文件中包括的剧本施行的操作。

文本中积攒的新闻可格式化为标准 JSON 或行分隔的 JSON。 SQL Server 可以导入 JSON 文件的内容,使用 OPENJSON 或 JSON_VALUE 函数分析内容,并将其加载到表中。

 2.5  使用 SQL 查询解析 JSON 数据

JSON 文本平常存款和储蓄在 varchar 或 nvarchar 列中,并编写制定了纯文本情势的目录。 任何扶助文件的 SQL Server 成效或机件均帮衬JSON,由此 JSON 和其余 SQL Server 功用之间的交互大约一向不其他自律。你能够将 JSON 存款和储蓄在内部存款和储蓄器中或偶尔表中、对 JSON 文本金和利息用行等第安全性谓词等。

  1. 使现存架构非标准化以制造 JSON 数据的列。

    1. 将 SalesReasons、SalesOrderDetails、SalesPerson、Customer 和蕴含发售订单相关音信的表中的音信存款和储蓄到 SalesOrder_json 表的 JSON 列中。

    2. 将 EmailAddresses/PersonPhone 表中的新闻作为 JSON 对象的数组存款和储蓄到 Person_json 表中。

  2. 创建查询 JSON 数据的历程和视图。

  3. 为 JSON 数据编写制定索引 – 为 JSON 属性和全文索引创造索引。

  4. 导入和导出 JSON – 创设并运营以 JSON 结果方式导出 Person 和 SalesOrder 表内容,并选用 JSON 输入导入和换代 Person 与 SalesOrder 表的经过。

  5. 运行查询示例 – 运营一些询问,用于调用步骤 2 和 4 中开创的囤积进程与视图。

  6. 清理脚本 – 要是你想要保留步骤 2 和 4 中创建的贮存进度与视图,请不要运营此部件。

本文由金沙澳门官网发布于数据库信息,转载请注明出处:【SqlServer系列】JSON数据

关键词: 金沙澳门官网

上一篇:澳门金莎娱乐网站:东西与锁
下一篇:没有了