在   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 行受影响)
*/

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-29
  • 2022-03-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-16
猜你喜欢
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-15
相关资源
相似解决方案