jiangyuxuan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
在   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 行受影响)
*/
posted on 2008-02-25 13:50  江宇旋  阅读(2728)  评论(0编辑  收藏  举报