开发者

MySQL remove all whitespaces from the entire column

Is there a way to remove all whitespaces from a specific 开发者_运维百科column for all values?


To replace all spaces :

UPDATE `table` SET `col_name` = REPLACE(`col_name`, ' ', '')

To remove all tabs characters :

UPDATE `table` SET `col_name` = REPLACE(`col_name`, '\t', '' )

To remove all new line characters :

UPDATE `table` SET `col_name` = REPLACE(`col_name`, '\n', '')

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace

To remove first and last space(s) of column :

UPDATE `table` SET `col_name` = TRIM(`col_name`)

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_trim

and if you want remove all type of spaces, you can combine all of this functions :

UPDATE `table` SET `col_name` = REPLACE(REPLACE(REPLACE(`col_name`, ' ', ''), '\t', ''), '\n', '');


Since the question is how to replace ALL whitespaces

UPDATE `table` 
SET `col_name` = REPLACE
(REPLACE(REPLACE(`col_name`, ' ', ''), '\t', ''), '\n', '');


Working Query:

SELECT replace(col_name , ' ','') FROM table_name;

While this doesn't :

SELECT trim(col_name) FROM table_name;


Using below query you can remove leading and trailing whitespace in a MySQL.

UPDATE `table_name`
SET `col_name` = TRIM(`col_name`);


Just use the following sql, you are done:

SELECT replace(CustomerName,' ', '') FROM Customers;

you can test this sample over here: W3School


Note: there are two types of white spaces, those that come from the space bar and those that come from the tab button, you need to do a replace for both. I suspect this is why the TRIM function seems not to always work.

so

replace(replace(<field_name>,' ',''),'  ','')

(there could be more types of white spaces, but these are the two I have found)


this works on me

UPDATE table SET col_name= TRIM(REPLACE(REPLACE(REPLACE(col_name, '\r', ' '), '\n', ' '), '\t', ' '));

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜