Wie kann ich in SQL Text verketten oder zusammenführen? Es gibt viele Zeichenfolgenfunktionen, die auf Zeichenfolgen in SQL angewendet werden können. Manchmal ist es erforderlich, zwei Zeichenfolgen zusammenzuführen oder zu kombinieren. Diese Funktionalität wird mit der Verkettungsfunktion in SQL erreicht. Dies kann mit dem Befehl „CONCAT“ durchgeführt werden. Dieses Video ist auch Bestandteil des Grundlagen Kurses SQL
Damit kommen wir nun zur Syntax. Vereinfacht nimmt die Syntax von SQL Befehl CONCAT folgende Form an:
CONCAT ( Zeichenfolge1,
Zeichenfolge
2, .. )
Angenommen wir haben folgende Datentabelle und möchten die Tabellenspalten: FirstName, MiddleName und LastName miteinander verketten beziehungsweise zusammenführen.
In diesem Fall, kann die Anwendung des SQL Befehls, CONCAT so gestaltet werden
SELECT CONCAT(FirstName, MiddleName, LastName)
FROM [AdventureWorksDW2014].[dbo].[DimCustomer]
Das Ergebnis sieht wie folgt aus:
Nun ja, das Ergebnis ist noch nicht ganz wie es sein soll. Es fehlen die Abstände zwischen den einzelnen Namen. Das kann einfach mit Zugabe eines Leerzeichens nachgebessert werden.
SELECT CONCAT(FirstName, ' ', MiddleName, ' ', LastName)
FROM [AdventureWorksDW2014].[dbo].[DimCustomer]
Damit erhalten wir nun ein brauchbares Ergebnis. Ist es wirklich ein brauchbares Ergebnis? Ein genauer Blick auf Zeile 6 macht uns Kopfzerbrechen. Dort sieht man, dass auch Leerzeichen eingefügt werden, wenn kein MiddleName vorhanden ist.
Zum Glück gibt es die Erweiterung von dem SQL Befehl CONCAT. Dieser lautet sehr ähnlich – CONCAT_WS. Die Syntax sieht wie folgt aus:
CONCAT_WS ( Trennzeichen, Zeichenfolge1,
Zeichenfolge
2, .. )
Diesen Befehl angewendet …
SELECT CONCAT_WS(' ',FirstName, MiddleName, LastName)
FROM [AdventureWorksDW2014].[dbo].[DimCustomer]
führt uns zu diesem Ergebnis. Nun ist es vollbracht.
Quellen: