链接的T-SQL子字符串

时间:2017-01-05 22:51:19

标签: tsql

我有一个字符串,我想从中检索一个子字符串:

"app/reports/here"

我想要的子字符串是"app/reports"

我有一些T-SQL如下:

DECLARE @document varchar(64);  
SELECT @document = 'app/reports/here';  
SELECT substring(@document, 0, CHARINDEX('/', replace(@document,'app/','')));  
GO

上面代码的结果是“app / rep”。

我怎么能得到我需要的完整字符串?关于CHARINDEX的人让我感到困惑..

由于

1 个答案:

答案 0 :(得分:2)

只需向CHARINDEX添加4即可,因为您使用空字符串替换原始字符串中的4个字符,因此CHARINDEX的结果会被移动。所以它应该是:

DECLARE @document varchar(64);  
SELECT @document = 'app/reports/here';  
SELECT substring(@document, 0, CHARINDEX('/', replace(@document,'app/',''))+4);  
GO