MySQL CONCAT mit NULL-Argument
luti
- datenbank
0 Vinzenz Mai0 luti
Hallo,
mehrere Strings lassen sich in MySQL bekanntlich mit concat zusammenfügen. Das Ergebnis ist jedoch NULL, wenn eines der Argumente NULL ist. Gibt es eine Möglichkeit, sich den hinzugefügten String als Ergebnis auszugeben, auch wenn der Ausgangsstring NULL ist?
In meinem Beispiel möchte ich in eine Kommentarspalte einen Kommentar anhängen, doch ist dieser zu Beginn leer ...
update xyz set comment = CONCAT(comment, '(verändert am 16.08.2008)')
ok, ich könnte einfach zwei Abfragen starten und als Bedingung einmal "ist leer" und einmal "ist nicht leer" abfragen. Elegant ist das aber nicht ... ;)
Dank & Gruß,
luti
Hallo
mehrere Strings lassen sich in MySQL bekanntlich mit concat zusammenfügen. Das Ergebnis ist jedoch NULL, wenn eines der Argumente NULL ist. Gibt es eine Möglichkeit, sich den hinzugefügten String als Ergebnis auszugeben, auch wenn der Ausgangsstring NULL ist?
Ja, das ist ein ...
update xyz set comment = CONCAT(comment, '(verändert am 16.08.2008)')
... typischer Einsatzfall für [COALESCE()](http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce):
~~~sql
UPDATE
xyz
SET
comment = CONCAT(COALESCE(comment, ''), '(verändert am 16.08.2008)')
Freundliche Grüße
Vinzenz
Hallo,
UPDATE
xyz
SET
comment = CONCAT(COALESCE(comment, ''), '(verändert am 16.08.2008)')
danke, funktioniert super ... ;)