如何在SSIS中使用字符和数字拆分值

时间:2017-02-07 21:10:13

标签: sql-server ssis

我在SSIS中读取的excel中有ABC1234AB12CDFHY1234等值,我需要将它们分开来分隔字母和数字。 正如你所看到的,我们无法预测那些可以在数值中的数字。

请帮我找出一种在SSIS中单独拆分的方法。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

首先,您必须在DataFlowTask中添加脚本组件,并在其中添加2个输出列。并将列标记为输入列。

其次,您必须使用脚本来拆分此字符串值。

在脚本中声明这些函数

Private Shared Function GetNum(ByVal value As String) As Integer
    Dim mytext As String = String.Empty
    Dim myChars() As Char = Value.ToCharArray()
    For Each ch As Char In myChars
         If Char.IsDigit(ch) Then
              myText &= ch
         End If
    Next
    Return Cint(myText)
End Function


Private Shared Function GetText(ByVal value As String) As String
    Dim mytext As String = String.Empty
    Dim myChars() As Char = Value.ToCharArray()
    For Each ch As Char In myChars
         If Char.IsLetter(ch) Then
              myText &= ch
         End If
    Next
    Return myText
End Function

请考虑您的输入列为inCol,输出列为outNumoutText

If Row.inCol_IsNull = False Then
    Row.outText = GetText(Row.inCol)
    Row.outNum = GetNum(Row.inCol)
Else
    Row.outText_IsNull = True
    Row.outNum_IsNull = True
End If