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
SELECTproduct_id,product_name,COALESCE(discount_price, list_price, 0.00) AS effective_priceFROM 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.