在 sql server 2005的db环境中.如何取得:字符  b 在字符串  abcefbpqbe 中最后一次出现的位置.
有什么函数可以取得这个位置吗?

解决方案 »

  1.   


    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
      

  2.   

    declare @tb table (id varchar(20))
    insert into @tb select 'abcefbpqbe'select len(id)-charindex('b',REVERSE(id))+1 from @tb
      

  3.   

    declare @s as varchar(20)
    set @s = 'abcefbpqbe'select 最后一次出现的位置 = len(@s) - charindex('b' , reverse(@s)) + 1/*
    最后一次出现的位置
    -----------
    9(1 行受影响)
    */
      

  4.   

    CSDN上确实强人的多啊
    我从google连接到这,终于找到问题的解决办法了..
    谢谢了
      

  5.   


    declare @b nvarchar(10)
    set @b='abcefbpqbe'
    select len(@b)- charindex('b',REVERSE(@b))+1