在 sql server 2005的db环境中.
如何取得:字符 b 在字符串 abcefbpqbe 中最后一次出现的位置.
有什么函数可以取得这个位置吗?
DECLARE
@str varchar(8000),
@search_str varchar(10)
SELECT
@str = 'abcefbpqbbpe',
@search_str = 'bp'
SELECT
CASE
WHEN CHARINDEX(@search_str, @str) = 0 THEN 0
ELSE LEN(@str) - CHARINDEX(REVERSE(@search_str), REVERSE(@str)) - LEN(@search_str) + 2
END
-----------------
declare @s as varchar(20)
set @s = 'abcefbpqbe'
select 最后一次出现的位置 = len(@s) - charindex('b' , reverse(@s)) + 1
/*
最后一次出现的位置
-----------
9
(1 行受影响)
*/