Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Frage zu IfNull bei MySQL

  Alt 21. Okt 2014, 23:52
Ich würde die Coalesce - Funktion verwenden
COALESCE(value1,value2,value3,...)
Die Funktion liefert als Ergebnis den Parameter zurück der nicht NULL ist.
Ausgewertet wird von links nach rechts.
Falls alle Parameter gleich NULL sind liefert die Funktion natürlich auch NULL zurück.
Coalesce() ist SQL/92 kompatibel und wird von sehr vielen Datenbanken unterstützt.

Man kann so z.B. sicherstellen dass ein Feld immer einen Wert <> NULL erhält:
SQL-Code:
-- Beispiel
UPDATE foo SET Preis = COALESCE( @Preis, Preis, 0.0 ) WHERE id = 2
Sollte der Parameter @Preis als auch der alte Wert des Feld "Preis" gleich NULL sein dann greift immer noch der 3. Wert.
Irgendwie schöner und nützlicher als IFNULL().
fork me on Github
  Mit Zitat antworten Zitat