MySQL видаляє всі пробіли з цілого стовпця


98

Чи є спосіб видалити всі пробіли з певного стовпця для всіх значень?


1
Коли доводиться видаляти пробіли? шляхом оновлення чи вибору? не ясно!
151291,

Відповіді:


206

Для заміни 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


5
TRIMлише видаляє пробіли з початку та кінця рядка.
Michael Mior

Це працює :) Хоча це, очевидно, лише видаляє пробіли, а не вкладки чи нові рядки. Не зрозуміло, чого саме хоче ОП.
Michael Mior

4
якщо ви хочете видалити вкладки, просто зробіть це UPDATE tableSET col_name= REPLACE ( col_name, '\ t', '')
Челла

1
Щоб видалити новий рядок: ОНОВИТИ table встановити col_name = REPLACE (col_name, '\ r', '');
Chris Sim

2
як щодо подвійного чи потрійного простору?
правління

10

Оскільки питання полягає в тому, як замінити ВСІ пробіли

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

8

Робочий запит:

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
Питання полягав у тому, як "видалити всі пробіли з певного стовпця для всіх значень", чого у вашій відповіді немає, не кажучи вже про те, що відповідь у травні була кращою.
датикон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.