You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JSON_QUERY或JSON_VALUE从SQL的JSON列提取所有公司名称

提取JSON中所有公司名称的SQL写法

你给出的JSON根节点下的Company是数组类型,无法直接通过单次JSON_VALUE拿到所有元素,需要先拆解数组再提取字段,以下是可直接运行的SQL(适配SQL Server 2016+,符合你要求的JSON_VALUE使用规范):

SELECT
  JSON_VALUE(company_item.value, '$.Name') AS company_name
FROM jsontable
CROSS APPLY OPENJSON(jsoncol, '$.Company') AS company_item;

语句说明

  • OPENJSON(jsoncol, '$.Company'):定位到jsoncol字段里的Company数组,把数组里的每一个对象拆成单独的数据行
  • JSON_VALUE(company_item.value, '$.Name'):从拆出来的单个公司对象中,提取Name键对应的字符串值,也就是你需要的公司名称
  • 语句会自动处理JSON格式里的括号、双引号转义,不需要额外做格式处理

如果需要同时提取公司ID、地址信息,可以直接扩展字段:

SELECT
  JSON_VALUE(company_item.value, '$.Name') AS company_name,
  JSON_VALUE(company_item.value, '$.Id') AS company_id,
  JSON_VALUE(company_item.value, '$.Info.Address') AS company_address
FROM jsontable
CROSS APPLY OPENJSON(jsoncol, '$.Company') AS company_item;

执行后会返回两行结果:

  • company_name为ABC,对应id 999、地址123
  • company_name为XYZ,对应id 888、地址456

内容的提问来源于stack exchange,提问作者Itsme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:21:14