日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
去掉字符串前后指定的字符串的SQL函數(shù)

如果前后分隔符號過多,計(jì)算就不夠準(zhǔn)確,下面為您介紹的SQL函數(shù)用來去掉字符串前后指定的字符串,供您參考,希望對您學(xué)習(xí)SQL函數(shù)使用有所啟迪。

去掉前導(dǎo)字符串
CREATE FUNCTION Ltrimstring
               (@string NVARCHAR(4000),--原始字符串
                @trimStr NVARCHAR(50))--要去掉的前導(dǎo)字符串
RETURNS NVARCHAR(4000)
AS
BEGIN
set @string =isnull(@string ,'')--2010.05.14更改
--當(dāng)原始字符串長度>0就檢查前導(dǎo)字符串是否出現(xiàn)在原始字符串前面
    WHILE (Len(@string) > 0)
      BEGIN
        IF LEFT(@string,Len(@trimStr)) = @trimStr
          BEGIN
               --如果出現(xiàn)了前導(dǎo)字符串就將忽略前導(dǎo)字符串,從字符串尾部開始截取原始字符串,長度為原始字符串的長度-前導(dǎo)字符串的長度
            SET @string = RIGHT(@string,Len(@string) - Len(@trimStr))
          END
        ELSE
            --如果原始字符串前面沒有出現(xiàn)相匹配的前導(dǎo)字符串則中斷循環(huán)
          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
          --與去掉前導(dǎo)字符串函數(shù)正好相反,截取的時(shí)候是從左側(cè)截取,從而忽略尾部的匹配字符串
            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))--要去掉的前導(dǎo)字符串
RETURNS NVARCHAR(4000)
AS
BEGIN
set @string=isnull( @string,'');
--當(dāng)原始字符串長度>0就檢查前導(dǎo)字符串是否出現(xiàn)在原始字符串前面
    if (Len(@string) > 0)
      BEGIN
        set @string=dbo.rtrimstring( dbo.ltrimstring(@string,@trimstr),@trimstr)
      END
    RETURN @string
END

這2個函數(shù)只能去掉前導(dǎo)或尾部字符串,不能去掉中間匹配的字符串

如 ',,,我再,,,測試,,,',如果選擇去掉前后‘,,,’,則結(jié)果是‘我再,,,測試’,因?yàn)槿サ糁虚g的可以用Replace()來實(shí)現(xiàn)

使用演示
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函數(shù)寫法

基于時(shí)間SQL函數(shù)詳解

教您使用SQL中的TRUNC函數(shù)

SQL中表變量的不足

詳解SQL中循環(huán)結(jié)構(gòu)的使用


分享標(biāo)題:去掉字符串前后指定的字符串的SQL函數(shù)
本文路徑:http://www.dlmjj.cn/article/cophcgp.html