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

SQL Server读取嵌套JSON的Trade_Area.type返回NULL问题求解

问题原因

你执行语句返回NULL的核心原因是:当提取嵌套JSON中的数组类型字段时,未通过AS JSON关键字声明字段类型,导致OPENJSON无法正确识别JSON结构;如果仅提取type字段返回NULL,还可检查是否存在JSON路径大小写与实际内容不匹配的问题(SQL Server JSON查询对大小写敏感,匹配规则与数据库排序规则一致)。

解决方案

使用以下语句即可直接输出你期望的两列结果:

declare @data nvarchar(max) = (SELECT *  FROM [dbo].[Temp_Database_01] for json path)

select 
    [type],
    [coordinates]
from  
   openjson(@data) 
   with (
        [type] varchar(50) '$.Trade_Area.type',
        [coordinates] nvarchar(max) '$.Trade_Area.coordinates' AS JSON
    )

代码说明

  • type字段为字符串类型,直接指定路径$.Trade_Area.type即可正常读取
  • coordinates为JSON数组,必须添加AS JSON标记,告知OPENJSON该字段返回的是JSON结构而非普通字符串,才能正确解析输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:06:01