sql怎么取某个字符串最后一次出现的位置后面的字符串

如:

'ab-cd-ef-gh'

现在要取到,第三个'-'后面的gh

1
2
3
4
declare @s varchar(100);
set @s = 'ab-cd-ef-gh';
 
select right(@s, charindex('-',reverse(@s))-1)
declare @str char(20)
set @str='ab-cd-ef-gh'
 
select stuff(@str,1,len(@str)-charindex('-',reverse(rtrim(@str)))+1,''as result
 
select substring(@str,len(@str)-charindex('-',reverse(rtrim(@str)))+2,charindex('-',reverse(rtrim(@str)))-1) as result
 
select reverse(left(reverse(@str),charindex('-',reverse(@str))-1)) as result
 
select right(@str,charindex('-',reverse(@str))-1) as result
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/lantianhf/p/5801652.html