【发布时间】:2011-11-10 22:40:03
【问题描述】:
有没有办法从所有值的特定列中删除所有空格?
【问题讨论】:
-
何时必须删除空格?通过更新或选择?不清楚!
标签: mysql
有没有办法从所有值的特定列中删除所有空格?
【问题讨论】:
标签: mysql
注意:有两种类型的空格,来自空格键的空格和来自 tab 按钮的空格,您需要对两者进行替换。我怀疑这就是 TRIM 功能似乎并不总是有效的原因。
所以
replace(replace(<field_name>,' ',''),' ','')
(可能有更多类型的空白,但这是我发现的两种)
【讨论】:
【讨论】:
替换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/en/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/en/string-functions.html#function_trim
【讨论】:
TRIM 只删除字符串开头和结尾的空格。
table SET col_name = REPLACE( col_name , '\t' , '' )
table set col_name = REPLACE( col_name , '\r' , '' );
因为问题是如何替换所有空格
UPDATE `table`
SET `col_name` = REPLACE
(REPLACE(REPLACE(`col_name`, ' ', ''), '\t', ''), '\n', '');
【讨论】:
使用以下查询,您可以删除 MySQL 中的前导和尾随空格。
UPDATE `table_name`
SET `col_name` = TRIM(`col_name`);
【讨论】:
工作查询:
SELECT replace(col_name , ' ','') FROM table_name;
虽然不是这样:
SELECT trim(col_name) FROM table_name;
【讨论】: