22 Stimmen

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?

AntwortenPositivNegativ
1Beste Antwort1 Stimme

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:

SELECT IFNULL(col, 0) FROM tab

Zur Verdeutlichung, hier noch einige Beispiele für IFNULL:

IFNULL(1, 0)     -- 1
IFNULL(NULL, 0)  -- 0
IFNULL('', 0)    -- ''

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

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

MySQL: Auf NULL prüfen

Frage | 1 Antwort

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.