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

在SQL Server中如何将JSON行表转换为结构化表格

将JSON格式字段解析为结构化表格

需求说明

现有一张表,其中value字段存储JSON格式字符串,需要将JSON中的各个键提取为独立列,生成结构化表格。

原始输入表

value
{"Date":"2022-10-31","Delta":5,"Comment":null}
{"Date":"2022-11-01","Delta":5,"Comment":null}

目标结构化表格

DateDeltaComment
2022-10-315null
2022-11-015null

测试数据

DECLARE @r TABLE (
   value VARCHAR(255)
)
INSERT INTO @r VALUES
     (N'{"Date":"2022-10-31","Delta":5,"Comment":null}'),
     (N'{"Date":"2022-11-01","Delta":5,"Comment":null}');

解决方案

使用SQL Server的OPENJSON函数解析JSON字符串,配合CROSS APPLY关联原表,精准提取JSON中的键为结构化列:

SELECT 
    Date,
    Delta,
    Comment
FROM @r
CROSS APPLY OPENJSON(value)
WITH (
    Date DATE '$.Date',
    Delta INT '$.Delta',
    Comment VARCHAR(50) '$.Comment'
);

说明

  • OPENJSON函数负责将JSON字符串转换为行集,WITH子句可以指定输出列的名称、数据类型以及对应的JSON路径,既能拆分字段,又能直接转换数据类型。
  • CROSS APPLY用于关联原表每行数据与解析后的JSON结果,确保每条JSON记录都能被正确拆分映射。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:30:59