Wie ersetze ich einen NULL-Wert in der Auswahl durch eine leere Zeichenfolge? Es sieht nicht sehr professionell aus, "NULL" -Werte auszugeben.
Dies ist sehr ungewöhnlich und aufgrund meiner Syntax würde ich erwarten, dass es funktioniert. Ich hoffe auf eine Erklärung, warum es nicht so ist.
select CASE prereq WHEN (prereq IS NULL) THEN " " ELSE prereq end from test;
Beispiel dafür, wie die Originaltabelle aussieht, was ich möchte und welche tatsächlichen Drucke:
original wanted what actually prints
-------- ------ ---------------------
value1 value1
NULL NULL
value2 value2
NULL NULL
Wie Sie sehen können, macht es das Gegenteil von dem, was ich will, daher habe ich versucht, IS NULL auf IS NOT NULL zu drehen, und das hat es natürlich nicht behoben. Ich habe auch versucht, die Position von when case zu tauschen, was nicht funktioniert hat.
Bearbeiten: Es scheint, dass die 3 unten angegebenen Lösungen alle die Aufgabe erfüllen. Grüße
select if(prereq IS NULL ," ",prereq ) from test
select IFNULL(prereq,"") from test
select coalesce(prereq, '') from test
(prereq IS NULL)
sollte nur lesenNULL