mssql sqlserver 使用sql脚本获取”指定字符串最后一次出现位置”的方法分享


摘要:
下文讲述使用sql脚本获取指定字符串在特定字符串中最后一次出现的位置,如下所示:
实验环境:sql server 2008 R2


大家都熟知,sqlserver中没有lastIndexOf函数,我们只能通过变相的实现此函数,如下所示:

实现思路:
采用反转函数,将两个字符串都进行反转,然后使用charIndex获取字符串第一次出现的位置,
然后使用原有长度减掉出现的第一次的位置并减掉替换字符串的长度,
最后得到的结果向前一个位置则为字符串最后一次出现的位置

例:

---检测sqlblog最后一次出现的开始位置

declare @t varchar(10)
declare @maomao365 varchar(100)

set @t ='sqlblog'
set @maomao365 ='sqlblog爱好者sqlblog学习王';

set @t = reverse(@t)
set @maomao365=reverse(@maomao365)



---最后一次出现的位置获取

select   len(@maomao365) - charindex(@t,@maomao365)-len(@t)+1
 
mssql_sqlserver_字符串最后一次出现的位置_8405

mssql_sqlserver_字符串最后一次出现的位置_8405