MS SQL读取JSON数据

前面有一篇《在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说明:

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

 

下面是真正把JSON转TABLE:

 

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

 

转载于:https://www.cnblogs.com/insus/p/10911739.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值