sql 截取字符串 1000*100*20 提取


CREATE function f_fengnumf(@c varchar(2000),@split varchar(2),@num int)
returns float
as
begin
declare @_n int
declare @ret varchar(20)
declare @cut varchar(20)
declare @cut1 varchar(20)
set @_n=1
-- set @ret=subs
if (@num=1)
set @ret=substring(@c,1,charindex(@split,@c)-1)
if (@num=2)
begin
set @cut=substring(@c,charindex(@split,@c)+1,100)
if(charindex(@split,@cut)>0)
set @ret=substring(@cut,1,charindex(@split,@cut)-1)
else
set @ret=@cut+''
end

if (@num=3)
begin
set @cut=substring(@c,charindex(@split,@c)+1,100)
if(charindex(@split,@cut)>0)
begin
-- set @ret=substring(@cut,1,charindex(@split,@cut)-1)
set @cut1=substring(@cut,charindex(@split,@cut)+1,100)
if(charindex(@split,@cut1)>0)
begin
set @ret=substring(@cut1,1,charindex(@split,@cut1)-1)

end
else

set @ret=isnull(@cut1,'0')+''
end


end

return cast (isnull(@ret,0) as float )
end

posted @ 2018-03-04 11:38  风 雨 无 阻  阅读(187)  评论(0编辑  收藏  举报