SQL Text verketten

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

YouTube Video zu Text Verketten in der Datenbanksprache SQL

Damit kommen wir nun zur Syntax. Vereinfacht nimmt die Syntax von SQL Befehl CONCAT folgende Form an:

CONCAT ( Zeichenfolge1, Zeichenfolge2, .. )

Angenommen wir haben folgende Datentabelle und möchten die Tabellenspalten: FirstName, MiddleName und LastName miteinander verketten beziehungsweise zusammenführen.

Kundentabelle

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:

Ergebnis mit SQL CONCAT

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.

Ergebnis mit Leerzeichen

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, Zeichenfolge2, .. )

Diesen Befehl angewendet …

SELECT CONCAT_WS(' ',FirstName, MiddleName, LastName)
FROM [AdventureWorksDW2014].[dbo].[DimCustomer]

führt uns zu diesem Ergebnis. Nun ist es vollbracht.

Ergebnis mit CONCAT_WS

Quellen:

SQL Server CONCAT Function
https://www.sqlservertutorial.net/sql-server-string-functions/sql-server-concat-function/
Nach oben scrollen