SSIS派生列在最后一个反斜杠后检索文本

问题描述 投票:1回答:1

使用SQL Server 2014。

我有一个包含一个包含完整文件路径的字符串的字段,即

\\Server\Folder1\Folder2\Folder3\File21.csv

我只想要最后一个反斜杠之后的内容,即

File21.csv

因此,在SQL世界中,我将使用:

Select RIGHT([FileName],charindex('\',reverse([FileName]),1)-1) as FileNameNew from mytable

但是,如何在SSIS的派生列中执行此操作?没有CHARINDEX,因此您必须使用FINDSTRING。这是我的表情:

RIGHT( [FileName] , FINDSTRING('\', REVERSE( [FileName] ) ,1)  -1)

但是它不起作用,它总是说单引号不是预期的。我也尝试了双引号无济于事。

sql-server ssis sql-server-2014 charindex
1个回答
2
投票

我认为您的参数向后。 FINDSTRING()首先要搜索的东西,然后要搜索的东西。并且您将需要双引号和转义的反斜杠。这应该工作:

© www.soinside.com 2019 - 2024. All rights reserved.