我有一个字符串,我想从中检索一个子字符串:
"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的人让我感到困惑..
由于
答案 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