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

SQL Server中拼接两列同位置逗号分隔的Errorcode与ErrorDescription字段值

SQL Server 逗号分隔多值字段对应拼接实现方案

需求说明

现有数据表包含3个字段:

  • Id:数据唯一标识
  • Errorcode:存储逗号分隔的多组错误码
  • ErrorDescription:存储逗号分隔的多组错误描述,与Errorcode的取值位置一一对应

需要将对应位置的错误码、错误描述按错误码-错误描述格式拼接,多组拼接结果用, (逗号加空格)分隔,最终输出Id与合并后的Error字段。

实现方案

注意:如果单条数据的Errorcode与ErrorDescription分隔后的数量不一致,仅会返回两者数量最小值对应的拼接结果。

适用版本:SQL Server 2016 及以上(支持JSON函数)

该方案通过JSON转换实现带顺序的字符串拆分,可保证错误码与错误描述的位置匹配正确。

-- 1. 测试样例数据,可替换为实际业务表
WITH TestTable AS (
    SELECT 1 AS Id, '204,201,33' AS Errorcode, 'Invalid Object,Out Of Range,Invalid Format' AS ErrorDescription
    UNION ALL
    SELECT 2 AS Id, '21,44' AS Errorcode, 'FileInvalid,Invalid date' AS ErrorDescription
    UNION ALL
    SELECT 3 AS Id, '20' AS Errorcode, 'Invalid parse' AS ErrorDescription
)
-- 2. 核心查询逻辑
SELECT 
    t.Id,
    STRING_AGG(CONCAT(c.value, '-', d.value), ', ') AS Error
FROM TestTable t
-- 拆分Errorcode,JSON转换后key字段即为拆分顺序索引
CROSS APPLY OPENJSON(CONCAT('["', REPLACE(t.Errorcode, ',', '","'), '"]')) c
-- 拆分ErrorDescription,按索引匹配对应错误描述
CROSS APPLY OPENJSON(CONCAT('["', REPLACE(t.ErrorDescription, ',', '","'), '"]')) d
WHERE c.[key] = d.[key]
GROUP BY t.Id

适用版本:SQL Server 2022 及以上(支持STRING_SPLIT序号参数)

可直接用STRING_SPLIT的enable_ordinal参数获取拆分后值的位置,写法更简洁:

WITH TestTable AS (
    SELECT 1 AS Id, '204,201,33' AS Errorcode, 'Invalid Object,Out Of Range,Invalid Format' AS ErrorDescription
    UNION ALL
    SELECT 2 AS Id, '21,44' AS Errorcode, 'FileInvalid,Invalid date' AS ErrorDescription
    UNION ALL
    SELECT 3 AS Id, '20' AS Errorcode, 'Invalid parse' AS ErrorDescription
)
SELECT 
    t.Id,
    STRING_AGG(CONCAT(c.value, '-', d.value), ', ') AS Error
FROM TestTable t
CROSS APPLY STRING_SPLIT(t.Errorcode, ',', 1) c
CROSS APPLY STRING_SPLIT(t.ErrorDescription, ',', 1) d
WHERE c.ordinal = d.ordinal
GROUP BY t.Id

输出结果

IdError
1204-Invalid Object, 201-Out Of Range, 33-Invalid Format
221-FileInvalid, 44-Invalid date
320-Invalid parse

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:09:03