加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – 行使逗号脱离符将单列数据拆分为SSIS中的多个列

发布时间:2021-02-26 01:41:30 所属栏目:编程 来源:网络整理
导读:我在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

办理要领

你可以做的是按原样读取文件.
并在剧本使命中拆分这些值.

以是从源代码转到剧本使命.
然后在剧本使命作为输入列,选择包括这些值的列(InputColumn1).然后指定输出列(假如我是对的,我看到你有5,以是指定5(OutputColumn1-5)).

完成后,转到剧本自己(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

叨教是否有题目.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读