Функция CONCAT в PostgreSQL используется для объединения нескольких строковых значений в одно.
Синтаксис
CONCAT(строка1, строка2, ...)строка1, строка2, ...— один или несколько аргументов строкового типа (например,TEXT,VARCHAR).- Если хотя бы один из аргументов равен
NULL, функцияCONCATтрактует его как пустую строку.
Примеры использования
Простое объединение строк
SELECT CONCAT('Postgre', 'SQL'); -- Результат: 'PostgreSQL'SELECT CONCAT('Привет', ', ', 'мир!'); -- Результат: 'Привет, мир!'Объединение строк с числами
SELECT CONCAT('ID: ', 123); -- Результат: 'ID: 123'Числовые значения автоматически приводятся к строковому типу.
Использование с таблицами
SELECT id, CONCAT(first_name, ' ', last_name) AS full_name FROM users;Этот запрос объединяет имя и фамилию пользователей в одно поле full_name.
Альтернативный способ объединения строк
Оператор || выполняет ту же задачу, что и CONCAT, но при наличии NULL возвращает NULL:
SELECT 'Postgre' || 'SQL'; -- Результат: 'PostgreSQL'SELECT 'Hello' || NULL || 'World'; -- Результат: NULLВ отличие от оператора ||, функция CONCAT интерпретирует NULL как пустую строку.
Особенности
CONCATработает с любым количеством аргументов.- Интерпретирует
NULLкак пустую строку, что предотвращает неожиданные результаты при объединении данных. - Автоматически преобразует нестроковые типы данных в строку.