MySQL从整个列中删除所有空格


94

有没有办法从所有值的特定列中删除所有空格?


1
什么时候必须删除空格?通过更新还是选择?不清楚!
151291 2015年

Answers:


200

替换all spaces

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

删除所有tabs字符:

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

删除所有new line字符:

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

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

删除first and last space(s)列:

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

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


5
TRIM仅从字符串的开头和结尾删除空格。
Michael Mior

可行:)尽管它显然只删除空格,但不删除制表符或换行符。不清楚OP到底想要什么。
Michael Mior

4
如果您想删除标签,只需执行UPDATE tableSET col_name= REPLACE(col_name,'\ t','')
Chella

1
删除新行:UPDATE table set col_name = REPLACE(col_name,'\ r','');
克里斯·辛

2
两倍或三倍的空间呢?
reignsly

10

由于问题是如何替换所有空白

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

7

工作查询:

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

虽然这不是:

SELECT trim(col_name) FROM table_name;


3

使用以下查询,您可以删除MySQL中的前导和尾随空格。

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

0

只需使用以下sql,就可以完成:

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

您可以在此处测试此示例:W3School


1
问题是如何“从所有值的特定列中删除所有空格”,您的答案没有,更不用说五月份的答案更好了。
daticon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.