Синтаксис функции CONCAT_WS():
CONCAT_WS(separator, str1, str2, ..., strN)
Параметр
separator
— это разделитель, который будет вставлен между строками. Остальные параметры — это сами строки, которые нужно соединить.Пример 1: Соединение ФИО сотрудника
Пусть у нас есть таблица сотрудников с полями
first_name
, middle_name
и last_name
. Нам нужно получить полное имя сотрудника в формате "ФИО":
SELECT CONCAT_WS(' ', last_name, first_name, middle_name) AS full_name
FROM employees;
Результат:
| full_name |
|---------------------|
| Иванов Иван Иванович |
| Петров Петр Петрович |
Пример 2: Формирование полного адреса
Имеется таблица с полями
street
, house_number
, city
, state
, zip_code
. Задача — сформировать единый адрес:
SELECT CONCAT_WS(', ', street, house_number, city, state, zip_code) AS address
FROM addresses;
Результат:
| address |
|-----------------------------|
| Ленина, 10, Москва, МО, 123456 |
| Мира, 5, Петербург, СПБ, 654321 |
Пример 3: Игнорирование NULL-значений
Функция CONCAT_WS() игнорирует значения
NULL
, что очень удобно при наличии неполных данных:
SELECT CONCAT_WS('-', 'Apple', NULL, 'Samsung', 'Xiaomi') AS brands;
Результат:
| brands |
|-------------------|
| Apple-Samsung-Xiaomi |
Обратите внимание, что пустое значение (
NULL
) пропущено.Функция CONCAT_WS() — мощный инструмент для работы с строками в MySQL. Она позволяет быстро и удобно соединять строки с нужным разделителем, упрощая формирование динамических выражений и сложных запросов.