SQL CONCAT-Funktion mit einer IF-Anweisung
Habe ich dieses:
SELECT CONCAT(forename,' ',IFNULL(initials, ''),' ',surname) AS name FROM users
Wie ändere ich es so, dass wenn die Initialen Feld null ist es auch nicht das Leerzeichen nach?
InformationsquelleAutor bcmcfc | 2011-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Matt
Ich würde CONCAT_WS. Zum Beispiel:
Dies wird den string "Vorname Nachname" (ohne Leerzeichen irgendwo anders als eine CONCAT_WS hat zwischen den beiden strings sind nicht NULL.
Das erste argument von CONCAT_WS ist der Leim, wird zwischen der nicht-NULL-Werte.
In deinem Fall wäre dies:
Hier:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws
Edit: Das funktioniert nur in MySQL.
InformationsquelleAutor Nick Pyett
Verwenden
SELECT CONCAT(forename, ' ', CASE WHEN initials IS NULL THEN '' ELSE initials || ' ' END, surname) ...
InformationsquelleAutor Benoit