MySQL hat den CONCAT()
-Funktion, mit der Sie zwei oder mehr Zeichenfolgen verketten können. Die Funktion erlaubt tatsächlich ein oder mehrere Argumente, aber ihre Hauptanwendung besteht darin, zwei oder mehr Zeichenfolgen zu verketten.
In MySQL (und in jeder Computerprogrammierumgebung) ist die Zeichenfolgenverkettung die Operation, bei der Zeichenfolgen von Ende zu Ende verbunden werden.
Hier ist ein Beispiel:
SELECT CONCAT('Homer', ' ', 'Simpson') AS 'Full Name';
Ergebnis:
+---------------+ | Full Name | +---------------+ | Homer Simpson | +---------------+
Beachten Sie, dass ich hier tatsächlich 3 Saiten verkettet habe. Ich habe den Vornamen, den Nachnamen und ein Leerzeichen verkettet.
Wenn ich das Leerzeichen nicht hinzugefügt hätte, hätte es so ausgesehen:
SELECT CONCAT('Homer', 'Simpson') AS 'Full Name';
Ergebnis:
+--------------+ | Full Name | +--------------+ | HomerSimpson | +--------------+
Das kann das gesuchte Ergebnis sein oder auch nicht.
Wenn wir das also auf eine Datenbank anwenden, könnte die Abfrage etwa so aussehen:
SELECT CONCAT(FirstName, ' ', LastName) AS 'Full Name' FROM Individuals WHERE IndividualId = '1';
Ergebnis:
+---------------+ | Full Name | +---------------+ | Homer Simpson | +---------------+
Wenn Sie mehr als zwei Zeichenfolgen verketten und ein Leerzeichen (oder ein anderes Trennzeichen) benötigen, sollten Sie die Verwendung von CONCAT_WS()
in Betracht ziehen Funktion. Auf diese Weise können Sie ein Trennzeichen angeben, das zwischen den einzelnen Zeichenfolgen verwendet werden soll. Sie müssen das Trennzeichen nur einmal angeben und es wird für jede verkettete Zeichenfolge verwendet, sodass Sie es nicht zwischen den einzelnen Zeichenfolgen erneut eingeben müssen.
NULL-Argumente
Der CONCAT()
Funktion gibt NULL
zurück wenn irgendein Argument NULL
ist .
Beispiel:
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
Ergebnis:
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
Binäre Zeichenfolgen vs. nichtbinäre Zeichenfolgen
In der MySQL-Dokumentation heißt es:
Wenn alle Argumente nichtbinäre Zeichenfolgen sind, ist das Ergebnis eine nichtbinäre Zeichenfolge. Wenn die Argumente binäre Zeichenfolgen enthalten, ist das Ergebnis eine binäre Zeichenfolge. Ein numerisches Argument wird in seine äquivalente nichtbinäre Zeichenkettenform umgewandelt.