CONCAT - конкатенация строк

Конкатенация строк - это объединение нескольких строк в одну. Мы рассматривали возможности SQL для конкатенации строк здесь.

Сейчас рассмотрим, как ведут себя NULL значения при объединении строк.

SELECT 'Раз, ' || 'два, ' || NULL AS result
# result
1 NULL

Если хотя бы одна из строк при конкатенации через || будет равна NULL, то результат конкатенации будет NULL.

Для тех, кто переходит с ORACLE на PostgreSQL, это может быть неожиданностью. В ORACLE значения NULL при конкатенации обрабатываются как пустая строка '' и не превращают результат в NULL.

Воспользуемся функцией concat:

SELECT concat('Раз, ', 'два, ', NULL) AS result
# result
1 Раз, два,

Функция concat игнорирует NULL значения.

6.9 Проверка отсутствия строки

7.2 Преобразование регистра букв