1

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

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

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

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

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

我怎样才能SELECT删除它?

谢谢

4

1 回答 1

0

这些不是“特殊”空间——它们不是 ascii 代码——如果它们在您的数据库中,那么您的代码中就有错误将它们放在那里。

为什么不直接替换它们?

....
SET PRODUCTS.description = REPLACE(
    REPLACE(
       REPLACE(PRODUCTS.description
             ,CHAR(160),' ')
           , CHAR(194), ' ')
       , '  ', ' ');
于 2013-01-02T00:20:23.683 回答