MySQL: Wie benutze ich IFNULL - Falsche Parameteranzahl Fehler
Frage von Gast | Letztes Update am 13.05.2021 | Erstellt am 02.07.2015
Ich möchte die MySQL Funktion IFNULL benutzen, um zu überprüfen, ob ein gegebenes Feld meiner Tabelle NULL ist.
Bis jetzt habe ich folgendes versucht:
SELECT IFNULL(col, 0, col) FROM tab
Das soll den Inhalt von "col" ausgeben, falls "col" nicht NULL ist oder 0 falls "col" NULL ist.
Allerdings bekomme ich immer eine Fehlermeldung, dass ich die falsche Anzahl von Parametern benutzen würde, wenn ich die Abfrage ausführe:
Incorrect parameter count in the call to native function 'IFNULL'
Was mache ich falsch? Wie soll man IFNULL denn stattdessen aufrufen? Hat jemand eine Idee?
Ähnliche Themen
Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)
Tutorial | 0 Kommentare
MySQL: Auf NULL prüfen
Frage | 1 Antwort
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
MySQL: CSV Export als auf dem Server gespeicherte Datei
Tutorial | 0 Kommentare
MySQL: CSV Export als automatischer Download
Tutorial | 1 Kommentar
MySQL: Reguläre Ausdrücke in MySQL-Abfragen
Info | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
IFNULL erwartet zwei Parameter, du übergibst allerdings drei Parameter.
Der erste Parameter von IFNULL ist der zu überprüfende Wert. Dieser wird auch ausgegeben, falls er nicht NULL ist. Falls er NULL ist wird stattdessen der zweite Parameter ausgeben.
Deine Abfrage müsste also lauten:
Zur Verdeutlichung, hier noch einige Beispiele für IFNULL:
IFNULL(1, 0) ergibt 1 - da der erste Parameter nicht NULL ist, wird auch der erste Parameter zurückgegeben. IFNULL(NULL, 0) ergibt 0 - der erste Parameter ist NULL, also wird der zweite genommen. IFNULL('', 0) ergibt '', da '' nicht NULL ist.
Alternativ kannst du übrigens auch mit IF arbeiten. Ein Beispiel findest du im Thema "Auf Null prüfen".
Letztes Update am 13.05.2021 | Erstellt am 03.07.2015