Referencia de funciones

COALESCE

Sustituye NULL por el primer valor de la lista que no es NULL.

MySQL 8.4
COALESCE(value[, ...])
  • [ ]parte opcional
  • ...se puede repetir
value
Valores que se comprueban, separados por comas

Valor devuelto

El primer valor que no es NULL; NULL si todos los argumentos son NULL

Ejemplos

Primer valor distinto de NULL

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

Origen a partir de una de dos columnas

MySQL 8.4
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

Detalles

A diferencia de IFNULL, la función acepta cualquier número de argumentos y los comprueba de izquierda a derecha: así puedes tomar el valor de la primera columna rellenada y poner un valor de reserva como último argumento.

Véase también

Dónde aprenderlo