От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
59 of 150 menu

Функция CONCAT_WS

Функция CONCAT_WS предназначена для сложения строк при выборке из базы данных с использованием разделителя. Строками обычно выступают поля таблиц.

Синтаксис

SELECT CONCAT_WS(separator, field1, field2...) FROM table_name WHERE condition

Таблицы для примеров

employees
id name age salary
1 user1 23 300
2 user2 24 400
3 user3 25 500

Пример

Давайте при выборке из базы создадим новое поле concat_ws, в котором поля age, name и salary будут объединены через дефис 3:

SELECT *, CONCAT_WS('-', age, name, salary) AS concat_ws FROM employees

Результат выполнения кода:

id name age salary concat_ws
1 user1 23 300 23-user1-300
2 user2 24 400 24-user2-400
3 user3 25 500 25-user3-500

Пример

Давайте при формировании нового поля добавим помимо значений из базы также строку '!!!':

SELECT *, CONCAT_WS('-', age, '!!!', salary) AS concat_ws FROM employees

Результат выполнения кода:

id name age salary concat_ws
1 user1 23 300 23-!!!-300
2 user2 24 400 24-!!!-400
3 user3 25 500 25-!!!-500

Меняем таблицу для примеров

employees
id name age salary separator
1 user1 23 300 -
2 user2 24 400 @
3 user3 25 500 !

Пример

Давайте используем содержимое поля separator в качестве разделителя между age, name и salary:

SELECT *, CONCAT_WS(separator, age, name, salary) AS concat_ws FROM employees

Результат выполнения кода:

id name age salary separator concat_ws
1 user1 23 300 - 23-user1-300
2 user2 24 400 @ 24@user2@400
3 user3 25 500 ! 25!user3!500

Смотрите также

  • функцию CONCAT,
    которая складывает строки без использования разделителя
  • функцию GROUP_CONCAT,
    которая складывает содержимое одного поля из разных строк
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить