Sql server 从逗号分隔字符串(T-SQL)向表中插入数据
我有一个整数列的表,数据如下: 4,89,8,1Sql server 从逗号分隔字符串(T-SQL)向表中插入数据,sql-server,tsql,Sql Server,Tsql,我有一个整数列的表,数据如下: 4,89,8,1 如何在列中插入上述整数。这可以通过 例如: Select * From (Values (1),(2),(3),(4)) tabA (ColA) 自动: DECLARE @DataSource TABLE ( [ColumnValue] INT ); DECLARE @Input VARCHAR(MAX) = '4,89, 8, 1'; DECLARE @InputXML XML = CAST(N'<r><![CD
如何在列中插入上述整数。这可以通过 例如:
Select *
From (Values (1),(2),(3),(4)) tabA (ColA)
自动:
DECLARE @DataSource TABLE
(
[ColumnValue] INT
);
DECLARE @Input VARCHAR(MAX) = '4,89, 8, 1';
DECLARE @InputXML XML = CAST(N'<r><![CDATA[' + REPLACE(@Input, ',', ']]></r><r><![CDATA[') + ']]></r>' AS XML);
INSERT INTO @DataSource
SELECT RTRIM(LTRIM(Tbl.Col.value('.', 'INT'))) AS Code
FROM @InputXML.nodes('//r') Tbl(Col)
DECLARE@DataSource表
(
[ColumnValue]INT
);
声明@Input VARCHAR(MAX)='4,89,8,1';
声明@InputXML XML=CAST(N''为XML);
插入@DataSource
选择RTRIM(LTRIM(Tbl.Col.value('.','INT'))作为代码
来自@InputXML.nodes('//r')Tbl(Col)
到目前为止,您尝试了什么?你被困在哪里?请在你的答案中添加一个简短的描述,使其更有用
DECLARE @DataSource TABLE
(
[ColumnValue] INT
);
DECLARE @Input VARCHAR(MAX) = '4,89, 8, 1';
DECLARE @InputXML XML = CAST(N'<r><![CDATA[' + REPLACE(@Input, ',', ']]></r><r><![CDATA[') + ']]></r>' AS XML);
INSERT INTO @DataSource
SELECT RTRIM(LTRIM(Tbl.Col.value('.', 'INT'))) AS Code
FROM @InputXML.nodes('//r') Tbl(Col)