Tsql 链接的T-SQL子字符串
我有一个字符串,要使用该字符串从中检索子字符串:Tsql 链接的T-SQL子字符串,tsql,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/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
中添加4个字符,因为您将原始字符串中的4个字符替换为空字符串,因此CHARINDEX
的结果将随之移动。因此,它应该是:
DECLARE @document varchar(64);
SELECT @document = 'app/reports/here';
SELECT substring(@document, 0, CHARINDEX('/', replace(@document,'app/',''))+4);
GO
只需在
CHARINDEX
中添加4个字符,因为您将原始字符串中的4个字符替换为空字符串,因此CHARINDEX
的结果将随之移位。因此,它应该是:
DECLARE @document varchar(64);
SELECT @document = 'app/reports/here';
SELECT substring(@document, 0, CHARINDEX('/', replace(@document,'app/',''))+4);
GO
你想解析n个位置吗?你想解析n个位置吗?