现在的位置: 首页 > 综合 > 正文

如何取得字符在字符串中最后一次出现的位置.

2011年03月01日 ⁄ 综合 ⁄ 共 469字 ⁄ 字号 评论关闭
在   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 行受影响)
*/

抱歉!评论已关闭.