2011-02-24 109 views
14

如何從行中刪除所有空格? 我在這裏看到很多相同的問題,但所有的答案都使用替換選項。替換將只能剝去一個空格,而不是全部。MySQL將所有空格替換爲 -

ex:a b c變成a-b-c

謝謝。

+3

替換應該去除所有空間。 – 2011-02-24 10:06:52

+0

呵呵,你有權利。但我知道我已經嘗試過並且沒有工作。謝謝。 – oriceon 2011-02-24 10:09:26

+0

@oriceon那麼,我們需要看你的代碼。並考慮你試圖剝離的東西實際上不是空間的可能性。 – 2011-02-24 10:13:32

回答

21

這可以用下面的MySQL函數來實現:

SELECT REPLACE(table.field, ' ', '-') FROM table; 

這應該替換所有空白的 -

+3

在這個例子中你需要'FROM表',而不是'FROM field'。 – 2011-02-24 10:14:30

+0

請注意,這不會更改存儲的數據庫值,它只會將空格轉換爲此特定查詢結果集的破折號。 – diamondsea 2016-07-08 14:45:51

+0

要在數據庫中替換它們,請使用@ faiz的答案如下: – diamondsea 2016-07-08 14:46:36

4

試試這個

replace('a b c',' ','-') 
+0

標準SQL使用單引號作爲字符串分隔符。 – 2011-02-24 10:13:15

4
update image set path = REPLACE(image.path, ' ', '-') where path like '% %' 

,如果你想更新mysql本身的路徑使用更新的所有行的空間與%20

1
UPDATE table SET table.field = REPLACE(table.field, ' ', '-'); 

這將更新所有字段,用連字符替換所有空格。這實際上會修改表中的數據。上面的Fokko答案只會改變所拉取的數據,因此不會改變實際數據。

相關問題