Koo*_*eng 1 t-sql sql-server-2014
我有一个字符串列表,其中的连接值由分隔符分隔,如下所示:
DECLARE @stringlist NVARCHAR(MAX) = 'company_no,emp_no,emp_name,emp_type,salary_type....'
Run Code Online (Sandbox Code Playgroud)
我有一个带有动态数量的无名列的临时表,其中包含以下数据:
------------------------------
001 A01 John P A
001 A05 Mary P A
Run Code Online (Sandbox Code Playgroud)
我想拆分字符串并将每个拆分字符串插入一行中的每一列,如下所示:
-----------------------------------------------
company_no emp_no emp_name emp_type salary_type
001 A01 John P A
001 A05 Mary P A
Run Code Online (Sandbox Code Playgroud)
我可以将字符串拆分成多行.但是,如何拆分和循环临时表中的每一列以插入这些值?
假设您的示例数据和所需结果表明目标表中的所有列都是某种字符串类型,我建议不要分割字符串.
而是从它创建一个动态sql插入语句:
DECLARE @Sql nvarchar(max);
SET @Sql = 'INSERT INTO <TempTableNameHere>
VALUES ('''+ REPLACE(@stringList, ',', ''',''') + ''');';
EXEC(@Sql);
Run Code Online (Sandbox Code Playgroud)