趁着空閒時間編寫刪除此字符串指定位置之後的指定數目字符,豐富字符串函數增強sql字符串函數功能,以方便大家使用。
--刪除此字符串指定位置之後的指定數目字符
--@count <=0 之後所有的字符
create function fun_Remove(@txt nvarchar(2000),@index int,@count int)
returns nvarchar(2000)
as
begin
declare @len int
set @len=len(@txt)
--@count <=0 之後所有的字符
if @count<1 begin
if @index <1 begin
return ''
end
return substring(@txt,0,@index)
end
if @index+@count<1 begin
--刪除字符總長度<1
return @txt
end else if @index+@count>=@len begin
--刪除字符從指定位置的長度超過原子符長度
if @index<1 begin
return ''
end
return substring(@txt,0,@index)
end
-- 移除區域間字符
if @index<1 begin
return substring(@txt,@index+1,@len-@index-@count)
end
return substring(@txt,0,@index)+substring(@txt,@index+@count,@len-@index-@count+1)
end
go
測試:
select dbo.fun_Remove('http://www.naoqiu.com',5,1)
--結果 :http//www.naoqiu.com