2013-01-02 57 views
1

我在MySql中有一列包含产品描述。有时候,说明含有较多的单词之间的一个空间,我希望把它变成一个空间,让我这个查询发现:摆脱MySql中空格的麻烦

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

,然后由它修补好了:

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

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

我怎么能SELECT它并将其删除?

感谢

+0

如何运行您的查询两次? – SaidbakR

+0

我在PHP的递归脚本中运行它..它卡住了 – MDreamer

回答

0

这些都不是“特殊”的空间 - 他们不是ASCII码 - 如果他们在你的数据库中,把它们放在那里的代码,那么你已经有了错误。

为什么不只是更换它们?

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

谢谢:)好主意 – MDreamer