Удалить пробел из конкатенированных строковых полей в MySQL

У меня есть 3 поля, которые я конкатенирую, и он работает очень хорошо в моем запросе, но я не могу решить, как удалить пробел из объединенных данных в поле concat.

TRIM(CONCAT(c.data1,c.data2)) AS concat_done

Результат:

concat_done
33 0250S 0450E 028NW
4 ответа

вместо

TRIM(CONCAT(c.data1,c.data2)) AS concat_done

попробуйте

REPLACE(CONCAT(c.data1,c.data2), ' ', '') AS concat_done


добавить REPLACE вызов:

REPLACE(TRIM(etc...), ' ', '')
 ^--one space
 ^-- no spaces


Прежде всего, вы должны, вероятно, показать свой ввод, а также свой вывод.

Во-вторых, trim() удаляет ведущие и конечные пробелы, так что вы хотите concat(trim(var1), trim(var2)) вместо того, чтобы обрезать конкатенированную версию, которая теперь имеет внутренние пространства.

update: Или, как говорят другие ответы, просто используйте replace(). Но именно поэтому trim() не работал так, как вам хотелось.


UPDATE Table_1 set Column_1 = TRIM (Заменить (заменить (заменить) (Column_1, '\ t', ''), '\n', ''), '\ r', ''));

Также вы можете использовать большую замену во внутренней замене.

licensed under cc by-sa 3.0 with attribution.