sql – 使用逗号分隔符将单列数据拆分为SSIS中的多个列
发布时间:2021-02-24 19:06:36 所属栏目:MsSql教程 来源:网络整理
导读:我在SQL Server中有一个包含3列的表,其中一列是包含由逗号分隔的连续列行的数据列.第一行也是我想要创建的新表的标题行.所以基本上我想转此. Data | ID | Source ====================a,b,c,d,e | 1 | a.csvf,g,h,i,j | 2 | b.csv 成 a | b | c | d | e======
我在SQL Server中有一个包含3列的表,其中一列是包含由逗号分隔的连续列行的数据列.第一行也是我想要创建的新表的标题行.所以基本上我想转此. Data | ID | Source ==================== a,b,c,d,e | 1 | a.csv f,g,h,i,j | 2 | b.csv 成 a | b | c | d | e ================= f | g | h | i | j 使用SSIS,我能想到的唯一方法是使用转储到数据列的文本文件中,然后将其作为平面文件源重新读取,但我宁愿避免创建额外的不必要的文件 编辑:对不起我使用SSIS 2008 解决方法你可以做的是按原样读取文件.并在脚本任务中拆分这些值. 所以从源代码转到脚本任务. 完成后,转到脚本本身(C#). 下: public override void Input0_ProcessInputRow(Input0Buffer Row) { } 将以下代码放在那里: var ColumnValue = Row.InputColumn1.Split(','); Row.OutputColumn1 = ColumnValue[0]; Row.OutputColumn2 = ColumnValue[1]; Row.OutputColumn3 = ColumnValue[2]; Row.OutputColumn4 = ColumnValue[3]; Row.OutputColumn5 = ColumnValue[4]; 在脚本任务之后,Source和OutputCoulmns1-5中的所有列都可用,您可以执行所需的操作. OUTPUT Data | ID | Source |OutputColumn1 |OutputColumn2| etc. 3-5 ================================================================ a,e | 1 | a.csv | a | b f,j | 2 | b.csv | f | g 请问是否有问题. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |