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

T-SQL如何将表中多行JSON数据合并为指定结构的单个JSON行

T-SQL 合并多行数据为目标JSON结构实现方案

前置要求

  • 适用版本:SQL Server 2016及以上(原生支持JSON处理能力)
  • 若你的json字段为字符串类型存储的JSON内容,无需额外转换,直接使用下方代码即可

实现代码

SELECT 
    (
        SELECT 
            -- 转换id为字符串类型匹配目标结构
            CAST(id AS VARCHAR(10)) AS id,
            -- 将原有json字段包裹为单元素数组,JSON_QUERY避免内容被转义
            JSON_QUERY('[' + json + ']') AS json
        FROM 你的实际表名 -- 替换为你自己的表名称
        FOR JSON PATH
    ) AS graphs
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER

代码说明

  • FOR JSON PATH:按照查询的列层级结构自动生成JSON格式
  • WITHOUT_ARRAY_WRAPPER:去掉T-SQL生成JSON时默认添加的外层数组方括号,匹配你需要的外层结构
  • JSON_QUERY:告知SQL引擎对应内容是合法JSON字符串,序列化时不会额外添加转义字符

如果你的json字段本身为SQL Server原生JSON类型,只需将json字段强制转为NVARCHAR类型即可:

JSON_QUERY('[' + CAST(json AS NVARCHAR(MAX)) + ']') AS json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:15:04