我有一个完全限定的文件名(带路径的文件名)进入 SSIS 加载中的临时表。文件名是例如。
C:\SSIS\scripts\work\input\tom_22082017-093346-906838.csv
C:\SSIS\scripts\work\input\jim_22082017-093346-906838.csv
我只想从中提取文件名,并使用 SSIS 派生列转换中的案例逻辑生成一个新列。使用纯 SQL 我可以这样做:
SELECT CASE
WHEN SUBSTRING(UPPER(RIGHT(filename, CHARINDEX('\', REVERSE(filename)) - 1)), 1, 3) = 'TOM' THEN 'TOMMY'
WHEN SUBSTRING(UPPER(RIGHT(filename, CHARINDEX('\', REVERSE(filename)) - 1)), 1, 3) = 'JIM' THEN 'JIMMY'
END AS PERSON
FROM mystagingtable
如何在派生列转换中将此逻辑转换为 SSIS 表达式语言?