Пофиксить запрос

SELECT *, CONCAT(first_name,' ', last_name, ' ', otch_name) as name

Трудность в том, что name выводит в конце пробел, в том случаи если поле otch_name пустое. Возможно ли сразу в запросе пофиксить этот момент. Если 2 последующих поля пусты, то на выходе не должно быть в конце пробелов.


Ответы (1 шт):

Автор решения: Volodymyr Osadchuk

Функция TRIM (читать здесь) удаляет все пробелы вначале и вконце строки, соотвественно вас запрос бует выглядеть:
SELECT *, TRIM(CONCAT(first_name,' ', last_name, ' ', otch_name)) as name

Второй способ, использовать IF(ссылка):
SELECT *, CONCAT(first_name,' ', last_name, IF(otch_name IS NOT NULL, CONCAT(' ', otch_name), '')) as name

→ Ссылка