Справочник по функциям

COALESCE

Заменяет NULL первым значением из списка, которое не равно NULL.

MySQL 8.1
COALESCE(value[, ...])

Параметры

value
Проверяемые значения, перечисляются через запятую

Возвращаемое значение

Первое значение, не равное NULL; NULL, если все аргументы равны NULL

Примеры

Первое значение не NULL

MySQL 8.1
SELECT COALESCE(NULL, NULL, 1, 2);
COALESCE(NULL, NULL, 1, 2)
1

Источник из одного из двух полей

MySQL 8.1
SELECT event_id,
	metadata->>'$.utm_source' AS utm_source,
	metadata->>'$.utm_src' AS utm_src,
	COALESCE(
		metadata->>'$.utm_source',
		metadata->>'$.utm_src',
		'unknown'
	) AS source
FROM events
LIMIT 6;
event_idutm_sourceutm_srcsource
1tiktok<NULL>tiktok
2<NULL>emailemail
3<NULL>tiktoktiktok
4email<NULL>email
5email<NULL>email
6tiktok<NULL>tiktok

Подробности

В отличие от IFNULL, принимает любое количество аргументов и проверяет их слева направо: так можно взять значение из первого заполненного столбца, а последним аргументом указать запасное значение.

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

Где изучить