Sql server 基于字段值拆分SSI中的行
在SSIS中-如何将数据从行拆分为2行 例如: 发件人: 致: 解决方案概述 您必须使用脚本组件来实现这一点。使用非同步输出缓冲区根据您自己的逻辑从一行中生成多行 解决方案详细信息Sql server 基于字段值拆分SSI中的行,sql-server,ssis,etl,Sql Server,Ssis,Etl,在SSIS中-如何将数据从行拆分为2行 例如: 发件人: 致: 解决方案概述 您必须使用脚本组件来实现这一点。使用非同步输出缓冲区根据您自己的逻辑从一行中生成多行 解决方案详细信息 添加数据流任务 在数据流任务中添加平面文件源、脚本组件和目标 在脚本组件中,选择ID,Data列作为输入 转到输入和输出页面,单击输出并将同步输入属性更改为无 将两个输出列ID和Data添加到Output 将脚本语言更改为Visual Basic 在脚本编辑器中编写以下代码 Public Overrides Sub
数据流任务中
添加平面文件源
、脚本组件
和目标ID
,Data
列作为输入输入和输出
页面,单击输出并将同步输入
属性更改为无
ID
和Data
添加到Output
Visual Basic
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim strValues() as String = Row.Data.Split(CChar("/")
For each str as String in strValues
Output0Buffer.AddRow()
Output0Buffer.ID = Row.ID
Output0Buffer.Data = str
Next
End Sub
使用T-SQL 根据您的评论,这是一个链接,其中包含一个示例,说明如何使用SQL命令完成此操作
ID Data
1 On
1 Off
2 On
2 Off
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim strValues() as String = Row.Data.Split(CChar("/")
For each str as String in strValues
Output0Buffer.AddRow()
Output0Buffer.ID = Row.ID
Output0Buffer.Data = str
Next
End Sub