MySql IFNULL(), COALSESCE() auf String nicht ersetzen
Beschreibung:
Meine Aussage sollte, ersetzen Sie jedes leer title_column mit 'no-name', aber es funktioniert nicht:
SELECT
COALESCE(main_table.title_column, 'no name') AS title
FROM main_table;
IFNULL() die gleiche Weise verhält.
Was mache ich falsch ?
Könnte es sein, dass Sie sehen leere Zeichenfolge-Werte anstelle von null-Werten?
natürlich, das ist der Fall. und ein anderer user gepostet die Lösung...
natürlich, das ist der Fall. und ein anderer user gepostet die Lösung...
InformationsquelleAutor kiltek | 2012-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
COALESCE
undIFNULL
Ersatz nurNULL
Werte, deine Tabelle scheint zu enthalten leere Zeichenfolgen:InformationsquelleAutor newtover
In MySQL eine
NULL
string und einem leeren (''
) string sind nicht das gleiche.Haben Sie ein paar Optionen, die für die Konsistenz, die ich verwenden FALL...
Anderen Optionen könnte die COALESCE(NULLIF()) gezeigt, auf eine andere Antwort (die verwendet NULLIF (), um leere Zeichenfolgen in Nullen und verwendet dann verschmelzen Sie, wie Sie wollte).
Wird, oder vielleicht einfach IIF() zu verkürzen, wird die CASE-Anweisung...
InformationsquelleAutor MatBailie
Wenn Sie lieber eine funktionale Möglichkeit geben, Lösungen
Sie können immer mit diesem:
Verwendung:
InformationsquelleAutor user1032604
verwendet diese Lösung für MySql,
InformationsquelleAutor Boni