In SQL Server können Sie zwei oder mehr Zeichenfolgen mithilfe von T-SQL CONCAT()
verketten Funktion. Sie können auch den Zeichenfolgenverkettungsoperator von SQL Server verwenden (+
) um dasselbe zu tun. Beides wird hier erklärt.
In SQL Server (und in jeder Computerprogrammierumgebung) ist die Zeichenfolgenverkettung der Vorgang, bei dem Zeichenfolgen von Ende zu Ende verbunden werden.
Hier ist ein Beispiel:
SELECT CONCAT('Peter', ' ', 'Griffin') AS 'Full Name';
Ergebnis:
Full Name ------------- Peter Griffin
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('Peter', 'Griffin') AS 'Full Name';
Ergebnis:
Full Name ------------ PeterGriffin
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 ------------- Peter Griffin
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
Wenn Sie mit MySQL vertraut sind, wissen Sie vielleicht, dass es auch ein CONCAT()
gibt Funktion. Es gibt jedoch einen Unterschied zwischen SQL Server CONCAT()
-Funktion und MySQL CONCAT()
Funktion ist, wie sie mit NULL
umgehen Argumente.
In MySQL der CONCAT()
Funktion gibt NULL
zurück wenn irgendein Argument NULL
ist . In SQL Server können Sie jedoch einen NULL
hinzufügen -Argument, ohne dass es zu einem NULL
führt Ergebnis.
MySQL
Folgendes macht MySQL:
SELECT CONCAT('Homer', NULL, 'Simpson') AS 'Full Name';
Ergebnis:
+-----------+ | Full Name | +-----------+ | NULL | +-----------+
SQL-Server
Folgendes macht SQL Server:
SELECT CONCAT('Peter', NULL, 'Griffin') AS 'Full Name';
Ergebnis:
Full Name ------------ PeterGriffin
Eine andere Art der Verkettung – Der String-Verkettungsoperator (+
)
SQL Server bietet eine weitere Möglichkeit zum Verketten von Zeichenfolgen. Sie können den +
verwenden String-Verkettungsoperator.
SELECT 'Peter' + ' ' + 'Griffin' AS 'Full Name';
Ergebnis:
Full Name ------------- Peter Griffin