/**
☆子灵☆ 2008-08-03 11:50
**/
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)
本文介绍了一个 SQL 自定义函数 `char_index` 的实现方法,该函数用于在指定字符串中查找特定字符的位置,并返回字符首次出现的索引。通过递增搜索的方式确保了函数能够准确地定位到用户所需求的字符位置。
3767

被折叠的 条评论
为什么被折叠?



