MySQL CONCAT gibt NULL für Felder zurück, die NULL enthalten: Lösungen und Alternativen
Die CONCAT-Funktion von MySQL verkettet mehrere Felder in einer einzigen Zeichenfolge. Es kann jedoch problematisch sein, wenn einige der Felder NULL-Werte enthalten, was dazu führt, dass der gesamte Ausdruck NULL zurückgibt.
Problemübersicht
Bedenken Sie die folgende Tabelle und Abfrage:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Diese Abfrage gibt den Gerätenamen zurück als folgt:
1 2 3 4 |
|
Lösung: Ersetzen Sie NULL durch eine leere Zeichenfolge
Um NULL-Werte zu ignorieren und stattdessen leere Zeichenfolgen zu verketten, können Sie die Funktion COALESCE verwenden. COALESCE akzeptiert mehrere Argumente und gibt das erste Nicht-NULL-Argument zurück.
Hier ist die geänderte Abfrage:
1 2 |
|
Diese Abfrage gibt das gewünschte Ergebnis zurück:
1 2 3 4 |
|
Das obige ist der detaillierte Inhalt vonWarum gibt MySQLs CONCAT NULL zurück, wenn Felder NULL-Werte enthalten, und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!