0

我正在使用以下查询将连续的多个空格删除到单个空格。循环没有出来我在哪里犯错了。请帮助我解决这个问题,或者如果有其他更好的想法来处理这个问题。

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 '
4

2 回答 2

1

用空替换空格
select str_replace('Kawamur a '," " ,NULL)

于 2013-10-23T11:55:50.257 回答
0
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

'河村一'

单引号放在字符串上只是为了突出显示末尾的单个空格。

于 2016-01-20T15:34:26.610 回答