0 Tage Serie
sql / intermediate
Snippet

Sichere Behandlung von Null-Werten mit COALESCE

Die ANSI-SQL-Standardfunktion COALESCE wertet Argumente sequentiell von links nach rechts aus und gibt den ersten Wert zurück, der nicht NULL ist. Dies verhindert unerwartete NULL-Ergebnisse bei Berechnungen und Berichten.

snippet.sql
sql
1
2
3
4
5
SELECT
product_id,
product_name,
COALESCE(discount_price, list_price, 0.00) AS effective_price
FROM products;
Erklärung
1
COALESCE(discount_price, list_price, 0.00) AS effective_price
Wertet Argumente von links nach rechts aus und gibt den ersten Wert zurück, der nicht NULL ist.
2
discount_price,
Zuerst geprüfte Preisspalte mit höchster Priorität.
3
list_price,
Ersatzpreis, der ausgewertet wird, wenn discount_price NULL ist.
4
0.00)
Standardwert, der zurückgegeben wird, wenn alle vorherigen Ausdrücke NULL sind.