灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2449回复:0

[SQL Server]mssql字符串移除指定长度字符

楼主#
更多 发布于:2012-09-04 18:06

mssql字符串移除指定长度字符

趁着空闲时间编写删除此字符串指定位置之后的指定数目字符,丰富字符串函数增强sql字符串函数功能,以方便大家使用。
[sql]
--删除此字符串指定位置之后的指定数目字符  
--@count <=0 之后所有的字符  
create function fun_Remove(@txt nvarchar(2000),@index int,@count int)  
returns nvarchar(2000)  
as  
begin    www.atcpu.com  
    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  

测试:

[sql]
select dbo.fun_Remove('http://www.atcpu.com',5,1)  
[sql]
--结果 :http//www.atcpu.com  


喜欢0 评分0
游客

返回顶部