SSIS如何使用派生列通过分隔符获取字符串的一部分

Djb*_*ril 3 ssis

我尝试编写一个SSIS表达式,以便在分隔符之前获取字符串的正确部分,然后将新字符串放入新列中.我在派生列中使用了Substring和Findstring,但是我遇到了麻烦.

Company
Virgin Altantic - F30008 
Google - F38115
Run Code Online (Sandbox Code Playgroud)

我需要检索F30008和F38115.

我用了这个表达式:

(DT_STR,65,1252)(FINDSTRING(Company,"- ",1) != 0 ? (SUBSTRING(Company,1,FINDSTRING(Company,"-",1) + 2)) : Company)

从这个表达式我得到:

Company
Virgin Altantic - 
Google - 
Run Code Online (Sandbox Code Playgroud)

Jus*_*tin 5

数据:

|                    COMPANY |
|----------------------------|
|   Virgin Altantic - F30008 |
|            Google - F38115 |
| Google youtube - F38115169 |
Run Code Online (Sandbox Code Playgroud)

派生列代码:

NewColumn1

SUBSTRING(Company,1,LEN(Company) - FINDSTRING(REVERSE(Company),"-",1) - 1)
Run Code Online (Sandbox Code Playgroud)

NewColumn2

SUBSTRING(Company,LEN(Company) - FINDSTRING(REVERSE(Company),"-",1) + 3,FINDSTRING(REVERSE(Company),"-",1) - 2)
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述