2017-02-07 11 views
1

У меня есть значения, такие как ABC1234, AB12, CDFHY1234 и т. Д. В Excel, читаемом в SSIS, и мне нужно было бы разделить их на разметку букв и цифр. , как вы можете видеть, мы не можем предсказать число букв, которые могут быть в значении.как разделить значение с символами и цифрами в SSIS

Пожалуйста, помогите мне разобраться, как разделить их отдельно в SSIS.

Благодарим за помощь.

+0

В частности, вы ищете Expression SSIS, который будет делать это? Или, что-нибудь в T-SQL? –

ответ

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 и ваши выходные Колонны outNum и outText

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 

 Смежные вопросы

  • Нет связанных вопросов^_^