Sql 将字符串从设置位置提取到特定字符

Sql 将字符串从设置位置提取到特定字符,sql,string,tsql,substring,Sql,String,Tsql,Substring,我现在有一个不同的问题(见上一个问题) 我的字符串是1/2/3/4/5 我需要在第三个/之后和第四个/之前提取。另一个优点是,直到第三个/为止的字符在列中的长度都相同。我正在使用- SUBSTRING (ORGPATHTXT,20,(CHARINDEX('/',(ORGPATHTXT)))) 但这仍然包括第4个/后面的一些文本,但只将最多11个字符传递到列中,我发现这很奇怪。CHARINDEX有第三个参数,指示开始搜索的位置。你可以用它 SUBSTRING(ORGPATHTXT,20,CHAR

我现在有一个不同的问题(见上一个问题)

我的字符串是1/2/3/4/5

我需要在第三个/之后和第四个/之前提取。另一个优点是,直到第三个/为止的字符在列中的长度都相同。我正在使用-

SUBSTRING (ORGPATHTXT,20,(CHARINDEX('/',(ORGPATHTXT))))

但这仍然包括第4个/后面的一些文本,但只将最多11个字符传递到列中,我发现这很奇怪。

CHARINDEX有第三个参数,指示开始搜索的位置。你可以用它

SUBSTRING(ORGPATHTXT,20,CHARINDEX('/',ORGPATHTXT,20)-20)
20
这是字符串中第三个
/
后面的第一个位置