sql server 2016 json 解析方法

本文介绍SQL Server 2016中新增的JSON功能使用方法,包括生成JSON格式数据、解析JSON数据及判断JSON格式等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天发现了sql server 2016支持了json 项目需要所以安装了 用了一下 方便了很多  ,写一下小笔记方便日后查看,也希望各位大神指正共同学习。

sql server 2016 安装图解网上很多,大家注意安装版本就可以了。

--1 带 Root Key
select * from sys_menu for JSON AUTO ,ROOT('Result')

--2  as
select ID,
Name,
Age as [Entity.Age],
Sex as [Entity.Sex]
from Student for json path
-- 3 输出有null列的 sql

select * from sys_menu for JSON AUTO ,ROOT('SUSU'), include_null_values

--4解析json --OPENJSON(将JSON文件转换为普通数据表)
DECLARE @JSalestOrderDetails nVarChar(2000) = '{"OrdersArray": [
{"Number":1, "Date": "8/10/2012", "Customer": "Adventure works", "Quantity": 1200},
{"Number":4, "Date": "5/11/2012", "Customer": "Adventure works", "Quantity": 100},
{"Number":6, "Date": "1/3/2012", "Customer": "Adventure works", "Quantity": 250},
{"Number":8, "Date": "12/7/2012", "Customer": "Adventure works", "Quantity": 2200}
]}';

SELECT Number, Customer, Date, Quantity
FROM OPENJSON (@JSalestOrderDetails, '$.OrdersArray')
WITH (
Number varchar(200),
Date datetime,
Customer varchar(200),
Quantity int
) AS OrdersArray

--5 ISJSON(判断是否是JSON格式)
SELECT ISJSON('{"AAA":1}')


--6 JSON_VALUE(分析JSON文件并提取出值)  :取出json对象属性为Name的 列  
SELECT JSON_VALUE('{"Order":{"Type":"C","Name":"张三"}}', '$.Order.Name')

 

转载于:https://www.cnblogs.com/duangduang/p/5801478.html

SQL Server 2016 引入了对 JSON 数据的支持,使得 SQL Server 能够更灵活地处理 JSON 格式的文本数据。这包括了在 SQL Server解析 JSON 字符串的功能。以下是 SQL Server 2016 解析 JSON 的主要特性: 1. OPENJSON 函数:SQL Server 2016 提供了 `OPENJSON` 函数,它可以从 JSON 字符串中解析出键值对,并以表格形式输出。`OPENJSON` 可以处理嵌套的 JSON 数据,并将其展开为行和列。 2. JSON_VALUE 函数:用于从 JSON 文本中提取标量值。`JSON_VALUE` 函数可以指定 JSON 路径,用来查找 JSON 对象中的特定值。 3. JSON_QUERY 函数:用于提取 JSON 文本中的对象或数组。如果需要从 JSON 数据中提取嵌套的 JSON 对象或数组,可以使用 `JSON_QUERY` 函数。 4. JSON_MODIFY 函数:可以在 JSON 文本中修改值,并返回修改后的 JSON 字符串。 5. JSON_PATH 选项:SQL Server 2016 支持 JSON_PATH 选项,可以在 `OPENJSON` 函数中使用它来指定需要提取的数据路径。 6. 嵌入式 JSON:在 SQL Server 表中存储 JSON 数据,将其作为文本值存储在列中。SQL Server 允许直接在这些列上使用 JSON 函数。 以下是一个简单的例子,展示如何在 SQL Server 2016 中使用 `OPENJSON` 函数: ```sql DECLARE @json NVARCHAR(MAX) SET @json = N'{ "id": 1, "name": "John Doe", "skills": ["SQL", "C#", "HTML"] }' SELECT * FROM OPENJSON(@json) WITH ( id INT '$.id', name NVARCHAR(50) '$.name', skills NVARCHAR(MAX) '$.skills' AS JSON ) ``` 这段代码将解析 JSON 字符串并将其转换为表格格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值