SQL Server中如何提取JSON嵌套对象details的完整值?
在SQL Server中提取JSON嵌套对象的完整内容
- 当需要从JSON字符串中提取对象或数组类型的内容时,
JSON_VALUE()无法满足需求(它仅支持提取标量值,如字符串、数字等),此时应该使用JSON_QUERY()函数,它专门用于返回完整的JSON片段。
示例代码
首先定义JSON变量:
DECLARE @jsonbody VARCHAR(MAX) = '{"info":"new","details":{"address":[{"town":"saltlake"},{"town":"twncity"}]}}'
提取details对应的完整JSON内容:
SELECT JSON_QUERY(@jsonbody, '$.details') AS details_json
执行后会返回:
{"address":[{"town":"saltlake"},{"town":"twncity"}]}
从表字段中提取的场景
如果是从表的varchar类型列中读取JSON数据,假设表名为your_table,JSON列名为json_column,可以使用以下语句:
SELECT JSON_QUERY(json_column, '$.details') AS details_json FROM your_table
内容的提问来源于stack exchange,提问作者synccm2012
相关产品推荐
相关产品推荐

