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

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

查看所有标签

猜你喜欢:

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

Imperfect C++中文版

Imperfect C++中文版

威尔逊 / 荣耀、刘未鹏 / 人民邮电出版社 / 2006-1 / 75.0

汇集实用的C++编程解决方案,C++虽然是一门非凡的语言,但并不完美。Matthew Wilson使用C++十年有余,其间发现C++存在一些固有的限制,需要一些颇具技术性的工作进行弥补。本书不仅指出了C++的缺失,更为你编写健壮、灵活、高效、可维护的代码提供了实用的技术和工具。Wilson向你展示了如何克服C++的复杂性,穿越C++庞大的范式阵列。夺回对代码的控制权,从而获得更理想的结果。一起来看看 《Imperfect C++中文版》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具