Tsql 在sybase中将多个空间删除为单个空间

Tsql 在sybase中将多个空间删除为单个空间,tsql,sybase,Tsql,Sybase,我使用下面的查询将连续的多个空格删除为单个空格。循环不出来我哪里出错了。请帮我解决这个问题,或者如果有更好的办法来处理这个问题 DECLARE @MEME_LAST_NAME VARCHAR(22) select @MEME_LAST_NAME = 'Kawamur a ' WHILE (PATINDEX('% %', @MEME_LAST_NAME ) > 0) BEGIN SET @MEME_LAST_NAME = ST

我使用下面的查询将连续的多个空格删除为单个空格。循环不出来我哪里出错了。请帮我解决这个问题,或者如果有更好的办法来处理这个问题

DECLARE @MEME_LAST_NAME  VARCHAR(22)
select @MEME_LAST_NAME = 'Kawamur    a        '

      WHILE (PATINDEX('%   %', @MEME_LAST_NAME ) > 0)
      BEGIN

      SET @MEME_LAST_NAME = STR_REPLACE(@MEME_LAST_NAME,'   ','')

      END
select @MEME_LAST_NAME

output should be : 'Kawamur a '

将空格替换为null
选择str_replace('Kawamur a','',NULL)


“川村a”


单引号放在字符串上,仅用于突出显示末尾的单个空格

早就应该投票表决了。这是正确的答案。
set nocount on
declare @mesg_text varchar(50)
  select @mesg_text = "'Kawamur    a        '"
  while (charindex("  ",@mesg_text) > 0)
      begin
      select @mesg_text = str_replace(@mesg_text,"  "," ")
      end
 select @mesg_text