我需要使用下面字符串中的 1005187069_0_A233-107400-1.pdf 作为我在ssis派生列转换中连接到Flat文件源的其他列值的一部分。
\\Hprweb001\ftp_root\HRPFTP\Usr\MediConnect\InboundImages\1005187069_0_A233-107400-1.pdf
我知道有可能在substring函数的帮助下尝试了:
SUBSTRING( [Column 5] , 1, FINDSTRING( [Column 5] , " ",1 )-FINDSTRING( [Column 5] , "\",8 )+1)
但它给了我一个错误。请帮忙。
答案 0 :(得分:2)
这是您需要的查询:
DECLARE @text NVARCHAR(MAX)
SET @text = '\Hprweb001\ftp_root\HRPFTP\Usr\MediConnect\InboundImages\1005187069_0_A233-107400-1.pdf'
SELECT
REVERSE(
SUBSTRING(
REVERSE(@text),
0,
CHARINDEX('\', REVERSE(@text))
)
)
这是一个SQLFiddle所以你可以看到它是如何工作的
另外,另一个更简单的版本是:
SELECT RIGHT(@text, CHARINDEX('\' ,REVERSE(@text))-1)
您可以使用this SQLFiddle运行此功能,并查看结果。