SQL - 在最后一个正斜杠后提取所有内容

T-M*_*-Mc 2 spotfire

我试图将字符串拉到下面字符串中最后一个正斜杠的右侧。

/Applied Analytics/URMFG/Service Analysis/ServiceAnalysis
Run Code Online (Sandbox Code Playgroud)

所以基本上,我希望看到ServiceAnalysis返回。

我遇到了以下 SQL,它与我需要的很接近,但并不准确。

=MID(K19, FIND("/",K19)+1, LEN(K19))
Run Code Online (Sandbox Code Playgroud)

whe*_*SQL 6

DECLARE @test NVARCHAR(100)
SET @test = '/Applied Analytics/URMFG/Service Analysis/ServiceAnalysis'

SELECT REVERSE(LEFT(REVERSE(@test), CHARINDEX('/', REVERSE(@test)) -1))
Run Code Online (Sandbox Code Playgroud)

反转字符串并找到 / 的第一个实例

查找 / 左侧的字符

再次反转即可得到你想要的结果


小智 6

在 SQL 中,你可以这样做:

declare @string varchar(100) = '/Applied Analytics/URMFG/Service Analysis/ServiceAnalysis';

select RIGHT(@string,charindex('/',reverse(@string),1)-1)
Run Code Online (Sandbox Code Playgroud)

但是,仍在等待查看它是否是您引用的 EXCEL(因为它看起来像一个 EXCEL 公式)。

如果是 Excel,那么您可以使用这篇文章中的 Reverse() 函数并像这样应用它:

在此处输入图片说明

这是公式:

=Reverse(LEFT(Reverse(A1),FIND("/",Reverse(A1),1)-1))
Run Code Online (Sandbox Code Playgroud)