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