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);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;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.