如何从sql server中的表中查询json数组类型列的值?
Posted
技术标签:
【中文标题】如何从sql server中的表中查询json数组类型列的值?【英文标题】:How to query a value from json array type column from a table in sql server? 【发布时间】:2018-10-04 07:44:44 【问题描述】:我有一个包含单行数据的表,其中包含一个 nvarchar(MAX) 类型的列,我们将该列命名为 json_column,该列的值如下所示:
"data": [
"name": "john",
"num": "123"
,
"name": "peter",
"num": "345"
,
"name": "donald",
"num": "789"
,
]
现在我如何获取 num 的值,其中 name 作为输入传递给 where 子句或查询?
我的查询应该只返回 num 的值。
例如:假设我需要名称为 'john' 的 num 的值,并且查询应返回 123。
【问题讨论】:
【参考方案1】:刚刚找到答案,查询可以写成如下:
SELECT OPENJSON((SELECT json_column From json_column_table),'$.data')
WITH
(
name nvarchar(100) '$.name',
num nvarchar(100) '$.num'
)
WHERE name='john';
【讨论】:
以上是关于如何从sql server中的表中查询json数组类型列的值?的主要内容,如果未能解决你的问题,请参考以下文章