Удалите пробелы из объединенных строковых полей в MySQL - PullRequest
4 голосов
/ 10 марта 2012

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

concat_done
33 0250S 0450E 028NW

Ответы [ 4 ]

4 голосов
/ 10 марта 2012

вместо

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

попробуйте

REPLACE(CONCAT(c.data1,c.data2), ' ', '') AS concat_done
4 голосов
/ 10 марта 2012

добавить ЗАМЕНИТЬ вызов:

REPLACE(TRIM(etc...), ' ', '')
                       ^--one space
                            ^-- no spaces
3 голосов
/ 10 марта 2012

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

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

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

0 голосов
/ 19 августа 2017
UPDATE Table_1 set Column_1= TRIM(Replace(Replace(Replace(Column_1,'\t',''),'\n',''),'\r',''));

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

...