当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-01-25 23:11:00  来源:本站整理

去掉字符串前后指定的字符串的SQL函数[MSSQL防范]

赞助商链接



  本文“去掉字符串前后指定的字符串的SQL函数[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

假如前后脱离标记过量,计算就不够精确,下面为您介绍的SQL函数用往复掉字符串前后指定的字符串,供您参考,但愿对您学习SQL函数利用有所启迪.

去掉前导字符串
CREATE FUNCTION Ltrimstring
               (@string NVARCHAR(4000),--原始字符串
                @trimStr NVARCHAR(50))--要去掉的前导字符串
RETURNS NVARCHAR(4000)
AS
BEGIN
set @string =isnull(@string ,'')--2010.05.14更改
--当原始字符串长度>0就查抄前导字符串能否呈目前原始字符串前面
    WHILE (Len(@string) > 0)
      BEGIN
        IF LEFT(@string,Len(@trimStr)) = @trimStr
          BEGIN
               --假如呈现了前导字符串就将忽视前导字符串,从字符串尾部开始截取原始字符串,长度为原始字符串的长度-前导字符串的长度
            SET @string = RIGHT(@string,Len(@string) - Len(@trimStr))
          END
        ELSE
            --假如原始字符串前面没有呈现相匹配的前导字符串则中止循环
          BREAK
      END
    RETURN @string
END
GO

去掉尾部字符串

CREATE FUNCTION Rtrimstring
               (@string NVARCHAR(4000),
                @trimStr NVARCHAR(50))
RETURNS NVARCHAR(4000)
AS
BEGIN
set @string =isnull(@string ,'')--2010.05.14更改
    WHILE (Len(@string) > 0)
      BEGIN
        IF RIGHT(@string,Len(@trimStr)) = @trimStr
          BEGIN
          --与去掉前导字符串函数恰好相反,截取的时刻是从左侧截取,从而忽视尾部的匹配字符串
            SET @string = LEFT(@string,Len(@string) - Len(@trimStr))
          END
        ELSE
          BREAK
      END
    RETURN @string
END

--去掉首尾指定的字符串--2010.05.14更改
create function TrimString (@string NVARCHAR(4000),--原始字符串
                @trimStr NVARCHAR(50))--要去掉的前导字符串
RETURNS NVARCHAR(4000)
AS
BEGIN
set @string=isnull( @string,'');
--当原始字符串长度>0就查抄前导字符串能否呈目前原始字符串前面
    if (Len(@string) > 0)
      BEGIN
        set @string=dbo.rtrimstring( dbo.ltrimstring(@string,@trimstr),@trimstr)
      END
    RETURN @string
END

这2个函数只能去掉前导或尾部字符串,不能去掉中间匹配的字符串

如 ',,,我再,,,测试,,,',假如挑选去掉前后‘,,,’,则后果是‘我再,,,测试’,因为去掉中间的可以用Replace()来实现

利用演示
declare @string nvarchar(500),@trimString nvarchar(500)
select @string=',,,我再,,,测试,,,',@trimString=','
print dbo.LTrimString(@string,@trimString)
print dbo.RTrimString(@string,@trimString)
print dbo.LTrimString(dbo.RTrimString(@string,@trimString),@trimString)
--顺次输出
我再,,,测试,,,
,,,我再,,,测试
我再,,,测试   以上是“去掉字符串前后指定的字符串的SQL函数[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 去掉字符串前后指定的字符串的SQL函数
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .