删除空间和特殊字符



这个问题链接到:在一行上加入一列取决于ID

我使用了此查询(谢谢Mihai):

SELECT id, date,MAX(docline),
Ids=Stuff((SELECT ' ' + doctext  FROM documentation  d WHERE d.id=documentation.id
 FOR XML PATH (''))
             , 1, 1, '' )
 from documentation where date in (02/14/2017)
GROUP BY id,date

我收到了这一行:

Backup  :                           
D:Bas.bac                                 
test testtest
tesdttest testtest

我想拥有类似的东西:

Backup  : D:Bas.bac test testtest tesdttest testtest

所以没有空间,也没有特殊字符,例如(' 
')

就像您可以看到我有一些特殊的角色和太多空间...我尝试使用rtrim()和ltrim喜欢:

SELECT id, date,MAX(docline),
Ids=Stuff(RTRIM(SELECT ' ' + doctext  FROM documentation  d WHERE d.id=documentation.id
 FOR XML PATH ('')))
             , 1, 0, '' )
 from documentation where date in (02/14/2017)
GROUP BY id,date

,但我看不到任何区别,我的行为也相同。

谢谢,

编辑:我也尝试过(没有成功):

Stuff((SELECT ' ' + LTRIM(RTRIM(doctext))  FROM documentation  d WHERE d.id=documentation.id FOR XML PATH ('')),1,0,'')

如果您只需要删除多个空格,则可以尝试

REPLACE (<string>,'  ', '')

但是,在您的情况下,它还删除了备份和:

之间的双重空间

最新更新