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

SQL临时表多数据逗号分隔插入单行问题

解决SQL临时表单行存入逗号分隔值的问题

你当前的INSERT语句会报错,因为表#Tempdata只有Account_Id一列,但你在VALUES里传入了三个独立的值,SQL会认为你要插入三列数据,导致列数不匹配。

要把'3'、'4'、'5'以逗号分隔的形式存入单行,直接将这三个值拼接成一个字符串插入即可:

CREATE TABLE #Tempdata
(
    Account_Id varchar(max)
)

-- 插入逗号分隔的字符串到单行
INSERT INTO #Tempdata 
VALUES ('3,4,5');

如果你的数据是从其他表的多行记录中来,需要合并成逗号分隔值再插入,可以用STRING_AGG函数(适用于SQL Server 2017及以上版本):

-- 示例:从源表多行数据合并后插入临时表
CREATE TABLE #SourceData
(
    Account_Id varchar(max)
)

INSERT INTO #SourceData VALUES ('3'), ('4'), ('5');

INSERT INTO #Tempdata
SELECT STRING_AGG(Account_Id, ',') AS Account_Id
FROM #SourceData;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:10:25