在MySql中摆脱空格的麻烦

时间:2013-01-02 00:10:45

标签: mysql string ascii space spaces

我在MySql中有一个包含产品描述的列。有时候描述中包含更多单词之间的空格,我想把它变成一个空格,所以我用这个查询找到了它:

 SELECT * FROM `database`.`PRODUCTS` 
 WHERE `PRODUCTS`.`description` LIKE '%  %'

然后通过以下方式修复它:

 UPDATE `database`.`PRODUCTS` 
 SET `PRODUCTS`.`description` = REPLACE(`PRODUCTS`.`description`,'  ',' ')

但它并没有删除所有的双重空格!有一些“特殊”空间(我怀疑)不同的ascii代码 - 0xA0,0xC2

我如何SELECT并删除它?

由于

1 个答案:

答案 0 :(得分:0)

这些不是'特殊'空格 - 它们不是ascii代码 - 如果它们在你的数据库中,那么你的代码就会出现错误。

为什么不直接替换它们?

....
SET PRODUCTS.description = REPLACE(
    REPLACE(
       REPLACE(PRODUCTS.description
             ,CHAR(160),' ')
           , CHAR(194), ' ')
       , '  ', ' ');