MS SQL读取JSON数据

栏目: 数据库 · 发布时间: 6年前

内容简介:前面有一篇《现反过来,当SQL从前端接收过来的数据是JSON的话,需要把它转换为TABLE。在MS SQL Server 2016有一个方法,OPENJSON。读取JSON文本的key,value,type和type说明:

前面有一篇《 SQL 中直接把查询结果转换为JSON数据 》 https://www.cnblogs.com/insus/p/10905566.html ,是把table转换为json。

现反过来,当SQL从前端接收过来的数据是JSON的话,需要把它转换为TABLE。在MS SQL Server 2016有一个方法,OPENJSON。

DECLARE @json_text NVARCHAR(MAX)
SET @json_text = 
 N'
 {
     "DB Type":
     [
        {"type":"AF","desc":"聚合函数(CLR)"},
        {"type":"F","desc":"FOREIGN KEY 约束"},
        {"type":"FN","desc":"SQL 标量函数"},
        {"type":"FS","desc":"程序集(CLR)标量函数"},
        {"type":"FT","desc":"程序集(CLR)表值函数"},
        {"type":"RF","desc":"复制筛选过程"},
        {"type":"IF","desc":"SQL 内联表值函数"},
        {"type":"TF","desc":"SQL 表值函数"}
     ]
 }'
   

读取JSON文本的key,value,type和type说明:

MS SQL读取JSON数据


SELECT [key],[value],[type],[dbo].[svf_JSONDataType]([type]) AS data_type FROM  
OPENJSON (@json_text)  

Source Code

下面是真正把JSON转TABLE:

MS SQL读取JSON数据


SELECT [type],[desc] FROM  
OPENJSON (@json_text ,'$."DB Type"')  
WITH
(
    [type] NVARCHAR(20) '$.type',
    [desc] NVARCHAR(40) '$.desc'
)

Source Code

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

失控的未来

失控的未来

[美]约翰·C·黑文斯 / 仝琳 / 中信出版集团 / 2017-4-1 / 59.00元

【编辑推荐】 20年前,尼古拉•尼葛洛庞帝的《数字化生存》描绘了数字科技给人们的工作、生活、教育和娱乐带来的冲击和各种值得思考的问题。数字化生存是一种社会生存状态,即以数字化形式显现的存在状态。20年后,本书以一种畅想的形式,展望了未来智能机器人与人类工作、生活紧密相联的场景。作者尤其对智能机器人与人类的关系,通过假设的场景进行了大胆有趣的描述,提出了人工智能的未来可能会面临的一些问题。黑文......一起来看看 《失控的未来》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具