如果前后分隔符号过多,计算就不够准确,下面为您介绍的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#p#
去掉尾部字符串
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#p#
--去掉首尾指定的字符串--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函数写法
基于时间SQL函数详解
教您使用SQL中的TRUNC函数
SQL中表变量的不足
详解SQL中循环结构的使用
                网站名称:去掉字符串前后指定的字符串的SQL函数
                
                网站地址:http://www.csdahua.cn/qtweb/news14/347714.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网