SQL Server 中的 JSON 数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL Server 中的 JSON 数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2694字,纯文字阅读大概需要4分钟。
内容图文
![SQL Server 中的 JSON 数据](/upload/InfoBanner/zyjiaocheng/510/ed12bced9e594f1c9d00766b24f041c9.jpg)
- 分析 JSON 文本和读取或修改值。
- 将 JSON 对象数组转换为表格式。
- 在转换后的 JSON 对象上运行任意 Transact-SQL 查询。
- 将 Transact-SQL 查询的结果设置为 JSON 格式。
在以下示例中,查询同时使用表中的关系数据和 JSON 数据(存储在名为 jsonCol
的列中):
SELECT Name,Surname,
JSON_VALUE(jsonCol,‘$.info.address.PostCode‘) AS PostCode,
JSON_VALUE(jsonCol,‘$.info.address."Address Line 1"‘)+‘ ‘
+JSON_VALUE(jsonCol,‘$.info.address."Address Line 2"‘) AS Address,
JSON_QUERY(jsonCol,‘$.info.skills‘) AS Skills
FROM People
WHERE ISJSON(jsonCol)>0
AND JSON_VALUE(jsonCol,‘$.info.address.Town‘)=‘Belgrade‘
AND Status=‘Active‘
ORDER BY JSON_VALUE(jsonCol,‘$.info.address.PostCode‘)
将 JSON 集合转换为行集
在 SQL Server 中查询 JSON 不需要自定义查询语言。 可以使用标准的 T-SQL 查询 JSON 数据。 如果必须基于 JSON 数据创建查询或报表,可以通过调用 OPENJSON 行集函数,轻松地将 JSON 数据转换为行与列 。 有关详细信息,请参阅用 OPENJSON 将 JSON 数据转换为行和列 (SQL Server)。
以下示例调用 OPENJSON,并且将 @json
变量中存储的对象数组转换为可使用标准 SQL SELECT 语句查询的行集 :
DECLARE @json NVARCHAR(MAX)
SET @json =
N‘[
{ "id" : 2,"info": { "name": "John", "surname": "Smith" }, "age": 25 },
{ "id" : 5,"info": { "name": "Jane", "surname": "Smith" }, "dob": "2005-11-04T12:00:00" }
]‘
SELECT *
FROM OPENJSON(@json)
WITH (id int ‘strict $.id‘,
firstName nvarchar(50) ‘$.info.name‘, lastName nvarchar(50) ‘$.info.surname‘,
age int, dateOfBirth datetime2 ‘$.dob‘)
OPENJSON 将 JSON 对象的数组转换为表,其中每个对象表示为一行,键/值对将作为单元返回。 输出遵循下列规则:
- OPENJSON 将 JSON 值转换为 WITH 子句中指定的类型 。
- OPENJSON 可以处理规则的键/值对以及分层组织的对象。
- 不需要返回 JSON 文本中包含的所有字段。
- 如果 JSON 值不存在,OPENJSON 返回 NULL 值。
- 可以选择在类型规范后指定一个路径,以引用嵌套属性或按不同的名称引用属性。
- 路径中可选的 strict 前缀指定 JSON 文本中必须存在指定属性的值。
SELECT id, firstName AS "info.name", lastName AS "info.surname", age, dateOfBirth as dob
FROM People
FOR JSON PATH
应用程序池:” FOR JSON 子句将 SQL 结果的格式设置为 JSON 文本,该格式可提供给识别 JSON 的任何应用。 PATH 选项在 SELECT 子句中使用以点分隔的别名,以嵌套查询结果中的对象。
[{
"id": 2,
"info": {
"name": "John",
"surname": "Smith"
},
"age": 25
}, {
"id": 5,
"info": {
"name": "Jane",
"surname": "Smith"
},
"dob": "2005-11-04T12:00:00"
}]
SQL Server 中的 JSON 数据
标签:smi data tle null order by 嵌套 mit 基于 nbsp
本文系统来源:https://www.cnblogs.com/PerfectBeauty/p/11093093.html
内容总结
以上是互联网集市为您收集整理的SQL Server 中的 JSON 数据全部内容,希望文章能够帮你解决SQL Server 中的 JSON 数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。