您的位置:首页 > 数据库

SQL 如何查找某个字符串第N次出现的位置

2011-12-29 18:14 513 查看
if exists(select 1 from sysobjects where name='char_index')
drop function char_index

create function char_index(@string varchar(8000),@char varchar(10),@index smallint)
--@string:待查找字符串,@index:查找位置
returns smallint
as
begin
declare
@i tinyint,--当前找到第@i个
@position tinyint--所在位置
set @position=1;
set @i=0;
while charindex(@char,@string,@position)>0
begin
set @position=charindex(@char,@string,@position)+1;
set @i=@i+1;
if @i=@index
begin
return @position-1;
end
end
return 0;--0表示未找到
end

select dbo.char_index('sdf_dsf_dfgdg_ertr_erte','f_',2)

http://blog.csdn.net/zhou968/article/details/2760871
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐