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
 
 
 
 
 
 
 
 
 
 
 

posted on 2016-08-24 09:39  那里的天空  阅读(14111)  评论(0编辑  收藏  举报

导航