2017-02-07 14 views
1

SSISのexcel amにはABC1234,AB12CDFHY1234などの値があり、文字と数字を分ける必要があります。 あなたが見ることができるように、それらが価値にあることができる数字の文字を予測することはできません。SSISの文字と数字で値を分割する方法

SSISで個別に分割する方法を理解してください。

ありがとうございました。

+0

outTextをしていますこの?あるいは、T-SQLの何かができますか? –

答えて

1

まず、DataFlowTaskにスクリプトコンポーネントを追加し、2つの出力列を追加する必要があります。列を入力列としてマークします。

第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であることを考慮して、これらの関数を宣言して、出力列は、あなたが行いますSSIS式を探している、具体的に outNum

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 
関連する問題