SQL Academy
Premium
Funktionsreferenz

COALESCE

Ersetzt NULL durch den ersten Wert aus der Liste, der nicht NULL ist.

MySQL 8.1
COALESCE(value[, ...])
  • [ ]optionaler Teil
  • ...kann wiederholt werden
value
Zu prüfende Werte, durch Kommas getrennt

Rückgabewert

Erster Wert, der nicht NULL ist; NULL, wenn alle Argumente NULL sind

Beispiele

Erster Wert ungleich NULL

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

Quelle aus einem von zwei Feldern

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

Details

Anders als IFNULL nimmt die Funktion beliebig viele Argumente und prüft sie von links nach rechts: So kannst du den Wert aus der ersten gefüllten Spalte nehmen und als letztes Argument einen Ersatzwert angeben.

Siehe auch

Wo du es lernst