当前位置: 代码迷 >> Sql Server >> Sql Server怎么Trim掉指定的字符,如'0'
  详细解决方案

Sql Server怎么Trim掉指定的字符,如'0'

热度:100   发布时间:2016-04-27 14:41:16.0
Sql Server如何Trim掉指定的字符,如'0'
RT

------解决方案--------------------
replace(@s,'0','')
------解决方案--------------------
replace
------解决方案--------------------
replace(col,'0','')
------解决方案--------------------
replace
------解决方案--------------------
用replace函数吧,格式如下:
replace(检索字符串,替换字符)
例:replace('0 haohaoxuexi','0 ') 结果为'haohaoxuexi'
------解决方案--------------------
SQL code
CREATE FUNCTION dbo.trimChar(@char VARCHAR(5),@str VARCHAR(50))    RETURNS VARCHAR(50)ASBEGIN    RETURN(SELECT STUFF                    (REVERSE(                      STUFF(REVERSE(@str),1,                            PATINDEX('%[[email protected]+']%',REVERSE(@str))-1,'')                     )                   ,1,PATINDEX('%[[email protected]+']%',@str)-1,'')              );ENDGODECLARE    @str VARCHAR(20);   SET @str='0012agd02002d400';SELECT dbo.trimChar('0',@str);DROP FUNCTION dbo.trimChar/*--------------------------------------------------12agd02002d4(1 行受影响)*/
------解决方案--------------------
对不起,忘了一个参数
用replace函数吧,格式如下: 
replace(检索字符串,替换原字符,目标字符) 
例:replace('0 haohaoxuexi','0 ','') 结果为'haohaoxuexi'
------解决方案--------------------
SQL code
--循环判断最后一位是否为 0,是则删除掉,直到不为 0 。DECLARE @AA NVARCHAR(20),@BB NVARCHAR(20)SET @AA = '45002500'SET @BB = '4501000'DECLARE @i INT,@CC NVARCHAR(20)SET @i = LEN(@AA)SET @CC = @AA--SET @i = LEN(@BB)--SET @CC = @BB  WHILE SUBSTRING(@CC,@i,1) = '0'BEGIN    SET @CC = SUBSTRING(@CC,1,@i-1)    SET @i = @i-1    CONTINUEENDPRINT @CC
------解决方案--------------------
replace(@str,'0','')
  相关解决方案