使用 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)
但它不起作用,它一直说单引号不是预期的。我也尝试过双引号,但无济于事。
最佳答案
我认为你的参数搞反了。 FINDSTRING()
首先想要您正在搜索的内容,然后是您正在搜索的内容。您将需要双引号和转义反斜杠。这应该有效:
RIGHT( [FileName] , FINDSTRING(REVERSE( [FileName] ), "\\" ,1) -1)
关于sql-server - 使用 SSIS 派生列转换检索最后一个反斜杠之后的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60303451/