2016-08-25 103 views
4

我想清理我的號碼在我的數據庫:Mysql的TRIM不使用工作

update valuations set Telephone = TRIM(Telephone) where 1 = 1 

但0行影響,所有的nunmbers仍然有空間在其中。數據類型是varchar,所以我不確定爲什麼這不起作用 - 任何人都可以幫忙嗎?

感謝

+0

的MySQL [TRIM()](http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_trim)功能 - 刪除__leading__和__trailing__空格 –

+0

你的空間是否在你的字符串的開始和結尾?如果是這樣,'TRIM()'應該刪除它們。如果它們處於字符串的中間,那麼最好使用'REPLACE()'。 – roberto06

+2

'trim()'不會刪除字符串中的空格,例如取這個字符串:'trim(「Hello World」)'this變成:'「Hello World」' – Daan

回答

2

流行你好,請使用設定的電話= REPLACE

UPDATE估值(電話, '', ''),其中1 = 1;

希望這個作品PAL

2

trim()將在串的兩端僅刪除那些空間。如果你想刪除這些字符串內,使用replace

UPDATE valuations SET Telephone = REPLACE(Telephone, ' ', '') where 1 = 1 
1

你應該先修剪串,之後用空字符替換空間:當你需要

update valuations set Telephone = REPLACE(TRIM(Telephone), ' ', '') where 1 = 1 

TRIM功能非常有用從開始和結束字符串中刪除其他空白字符,例如新行字符或TAB。

更多TRIM()功能:http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_trim

+3

現在沒有必要使用'trim' ,當你刪除所有空格 –

+0

是的,但是當你有其他空白字符時,TRIM將會很有用。 – aslawin

6

正如我所說的在我的評論,我猜你的空間在您的條目中,TRIM不會有效。使用REPLACE代替:

UPDATE valuations SET Telephone = REPLACE(Telephone, ' ', '') WHERE 1 = 1;