# MySQL CONCAT: So führen Sie Strings zusammen

Mit dem Befehl MySQL CONCAT haben Sie die Möglichkeit, zwei oder mehr Strings zu einer Einheit zusammenzuführen. Während MySQL CONCAT keine Trennzeichen erlaubt, können Sie mit MySQL CONCAT\_WS Informationen noch übersichtlicher kombinieren und ausgeben.

## Was ist MySQL CONCAT?

Das relationale Datenbankmanagementsystem MySQL arbeitet mit Tabellen. Daten werden übersichtlich in Spalten und Zeilen gespeichert und können dann bei Bedarf abgerufen und auch verbunden werden. Das ist dann wichtig, wenn Informationen aus zwei oder mehr Tabellen benötigt werden. Der praktische Befehl, **um mehrere Spalten zusammenzuführen**, ist MySQL CONCAT. Diese String-Funktion wenden Sie an, wenn Sie zwei oder mehr Ausdrücke miteinander verketten möchten – sie werden dadurch in einer einzelnen Zeichenfolge zusammengefasst und ausgegeben. Es gibt dabei verschiedene Wege, wie Sie MySQL CONCAT nutzen können. Der Name MySQL CONCAT geht auf das englische Wort „concatenate“ („verknüpfen“) zurück.

Da MySQL Daten in unterschiedlichen Tabellen und in verschiedenen Spalten und Zeilen speichert, bleiben diese zunächst unter sich. Bei bestimmten Abfragen oder Aufgaben kann es allerdings nötig sein, diese **Informationen gemeinsam auszugeben**. Beispiele dafür zeigen wir Ihnen weiter unten. Zur Veranschaulichung eignet sich die Kombination aus Name, Vorname und Adresse. Diese Angaben befinden sich zunächst in einzelnen Spalten und können so auch einzeln gesucht bzw. ausgegeben werden. Benötigen Sie allerdings die Kombination aus allen drei Daten, hilft Ihnen MySQL CONCAT weiter.

## Syntax von MySQL CONCAT

Die grundsätzliche Syntax von MySQL CONCAT ist sehr einfach. Hinter dem eigentlichen Befehl werden sämtliche Ausdrücke aufgelistet, die zusammengeführt werden sollen. Diese werden durch Kommata getrennt. Das sieht dann beispielhaft so aus:

```bash
CONCAT (Ausdruck1, Ausdruck2, Ausdruck3, …)
```

Wichtig zu wissen ist, dass MySQL CONCAT Ausdrücke mit einem numerischen Wert in einer Binärzeichenfolge konvertiert. Binäre Zeichenfolgen bleiben binäre Zeichenfolgen, nichtbinäre Zeichenfolgen bleiben ebenfalls nichtbinär. Auch ein Ausdruck mit dem Wert 0 behält den Wert 0 bei.

Alternativ zum regulären Befehl MySQL CONCAT gibt es die Funktion MySQL CONCAT\_WS. Die zweite Option arbeitet dabei mit einem Trennzeichen zwischen den einzelnen Strings, während MySQL CONCAT die Verwendung von Trennzeichen nicht erlaubt. Die grundsätzliche Syntax von MySQL CONCAT\_WS sieht wie folgt aus:

```bash
CONCAT_WS (Trennzeichen, Ausdruck1, Ausdruck2, Ausdruck3, …)
```

MySQL CONCAT\_WS gibt nur dann den Wert 0 zurück, wenn der Wert des Trennzeichens 0 ist.

## Beispiele für MySQL CONCAT

Um die Funktionsweise von MySQL CONCAT zu verstehen, lohnt sich ein Blick auf ein paar einfache Beispiele. Zunächst verbinden wir einfach zwei Strings miteinander. So sieht das beispielhaft aus:

```bash
SELECT CONCAT ('MySQL', 'CONCAT');
```

In diesem Fall werden Sie feststellen, dass die Ausgabe ein simples „MySQLCONCAT“ ist. Fügen Sie nun einen Nullwert ein, liest sich der Befehl so:

```bash
SELECT CONCAT ('MySQL', NULL, 'CONCAT');
```

Während dieses Beispiel in der Praxis noch keinen wirklichen Mehrwert bietet und lediglich die grundsätzliche Funktionsweise veranschaulichen soll, bietet der nächste Versuch mehr praktischen Nutzen. Dafür stellen wir uns ein gewöhnliche Kundenliste vor. Diese ist **unterteilt in verschiedene Spalten**, u. a. Kundennummer, Vorname, Nachname, Adresse oder Telefonnummer. Die Daten sind unabhängig voneinander gespeichert. Um nun eine gemeinsame Ausgabe zu erstellen, hilft Ihnen MySQL CONCAT. Für eine Auflistung der Kunden und Kundinnen mit vollständigen Namen lassen Sie MySQL Vorname, Leerzeichen und Nachname verknüpfen. Dafür nutzen Sie folgenden Befehl:

```bash
SELECT CONCAT (Vorname, ' ', Nachname) Kundenname
FROM Kundenliste;
```

In der Ausgabe werden Ihnen nun sämtliche Kundinnen und Kunden mit Vorname und Nachname aufgelistet.

## Beispiele für MySQL CONCAT\_WS

Wir bleiben beim obigen Beispiel. Um die Namen in umgekehrter Reihenfolge aufzulisten und Nachname und Vorname durch ein Komma zu trennen, benötigen Sie den Befehl MySQL CONCAT\_WS. Der Vorgang ist ähnlich, allerdings wird das Komma den restlichen Informationen vorangestellt. Hier sehen Sie das Beispiel:

```bash
SELECT CONCAT_WS (', ', 'Mustermann', 'Max');
```

Die passende Ausgabe lautet dann „Mustermann, Max“.

Für eine Ausgabe, die verschiedene Informationen übersichtlich wiedergibt, ist dieser Befehl ideal. Im letzten Beispiel sehen Sie, wie Sie mit MySQL CONCAT\_WS eine komplette Anschrift ausgeben. So sieht der passende Code aus:

```bash
SELECT
CONCAT_WS (CHAR(13),
CONCAT_WS (' ', Vorname, Nachname),
Adresszeile1,
Adresszeile2,
CONCAT_WS (' ', Postleitzahl, Stadt),
Land,
CONCAT_WS (CHAR(13), ' ')) AS Kundenadresse
FROM kundenliste
```

Die entsprechende Ausgabe sieht so aus:

```bash
Kundenadresse
Max Mustermann
Musterstraße 1
10243 Berlin
Deutschland
Sabine Schmidt
Beispielstraße 10
20255 Hamburg
Deutschland
```


This is a markdown version of: [https://www.ionos.at/digitalguide/hosting/hosting-technik/mysql-concat/](https://www.ionos.at/digitalguide/hosting/hosting-technik/mysql-concat/) for AI/LLM consumption.