2013-01-02 104 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