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
 
 
 
 
 
 
 
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM