MS SQL读取JSON数据

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

内容简介:前面有一篇《现反过来,当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

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

查看所有标签

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

全栈开发之道

全栈开发之道

和凌志 / 电子工业出版社 / 68.00元

全栈(Full Stack)是一种全新的以前端为主导的框架,框架选型聚焦在MEAN(MongoDB、Express、AngularJS、Node.js)上。选用MEAN全栈技术,可以快速地实现敏捷开发,尤其是到了产品的运营阶段,其优势表现得非常明显。本书主要介绍MEAN全栈技术,分为入门篇、基础篇和实战篇,入门篇对全栈进行了概述,基础篇重点介绍了全栈的四个主要技术,即MongoDB、Express......一起来看看 《全栈开发之道》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具