SQL CONCAT ist eine Funktion, die zwei oder mehr Zeichenketten zu einer einzigen Zeichenkette verbindet. Das ermöglicht es, Daten aus verschiedenen Feldern oder Tabellen nahtlos zusammenzuführen.
SELECT CONCAT(String1, String2, ...)
FROM tabelle;
Wenn Du schon einmal mit Daten gearbeitet hast, wirst du wissen, wie wichtig es ist, Informationen in einer gut strukturierten und sinnvollen Weise zusammenzuführen. Mit der CONCAT Funktion in SQL ist genau das möglich. Mit ihr kannst Du Texte, Zeichenketten oder Datenfelder miteinander verbinden und neue Zusammenhänge schaffen.
Die Bedeutung von CONCAT in SQL
CONCAT ist eine Funktion, die zwei oder mehr Zeichenketten zu einer einzigen Zeichenkette zusammenzufügen.
Einfach ausgedrückt: CONCAT verbindet Wörter, Sätze oder Textblöcke zu einem Ganzen.
Stell Dir CONCAT als eine Art Klebstoff vor, der unterschiedliche Teile zu einem zusammenhängenden Ganzen verbindet. Diese Funktion ist besonders hilfreich, wenn Du Daten aus verschiedenen Spalten zusammenführen musst.
Grundlagen von SQL CONCAT
Die Syntax der CONCAT Funktion ist recht einfach:
SELECT CONCAT(String_1, String_2, ..., String_n)
FROM tabelle;
In dieser Syntax steht jedes „String“ für die Zeichenkette, die du verbinden möchtest. Du kannst so viele Zeichenketten hinzufügen, wie du möchtest, solange du sie mit Kommas trennst.
SQL CONCAT - Beispiel
Nehmen wir ein einfaches Beispiel: Angenommen, Du hast zwei Spalten in deiner Datenbank. Eine mit Vornamen und eine mit Nachnamen. Du möchtest aber eine vollständige Namensspalte haben.
Mit CONCAT kannst du das einfach tun, indem du als ersten String den Vornamen auswählst, als zweiten String ein Leerzeichen hinzufügst, damit nicht VornameNachname rauskommt und als letzten String den Nachnamen auswählst.
Vorname | Nachname |
---|---|
Anton | Albrecht |
Berta | Bauer |
Chris | Cramer |
SELECT CONCAT(Vorname, ' ', Nachname) AS Voller_Name
FROM Personal;
Voller_Name |
---|
Anton Albrecht |
Berta Bauer |
Chris Cramer |
Alternativen für CONCAT
Operator "||"
Operatoren, die Werte miteinander verknüpfen Infix Operatoren. Das kann unser altbekanntes „+“ sein, oder aber auch „||“.
Man kann || zwischen Zeichenketten einsetzen, um die selbe Funktionalität wie CONCAT zu simulieren.
Vorsicht: In MySQL, MariaDB und Microsoft SQL Server kann es sein, dass dieser Operator nicht funktioniert. Dort sollte man bei CONCAT bleiben.
SELECT Vorname || ' ' || Nachname
FROM Personal;
Text + Text
Theoretisch würde auch der folgende SQL Befehl dasselbe Ergebnis ausliefern:
SELECT Vorname + ' ' + Nachname
FROM Personal;
Sollte allerdings in der Spalte Vorname oder Nachname ein NULL Wert enthalten sein, wird für den zusammengefügten String NULL ausgegeben.
Bei der CONCAT-Funktion werden NULL Werte ignoriert und alle möglichen Werte zu einem String zusammengefasst. Somit gehen keine Informationen verloren.
Häufige Fehler und Lösungen mit SQL CONCAT
Fehlende Kommas
Ein häufiger Fehler ist, dass die Zeichenketten nicht durch Kommas getrennt werden. Wenn Du das vergisst, gibt SQL einen Fehler zurück.
# Falsch:
SELECT CONCAT(Vorname Nachname)
FROM tabelle;
# Richtig:
SELECT CONCAT(Vorname, ' ', Nachname)
FROM tabelle;
Fehlende Leerzeichen
Ein weiterer typischer Fehler ist die Annahme, dass CONCAT automatisch Leerzeichen zwischen den Zeichenketten einfügt. Das ist nicht der Fall.
Wenn Du Leerzeichen zwischen Deinen Zeichenketten haben möchten, musst Du sie explizit als separate Zeichenkette in die CONCAT Funktion einfügen.
# Falsch:
SELECT CONCAT(Vorname, Nachname)
FROM tabelle;
# Richtig:
SELECT CONCAT(Vorname, ' ', Nachname)
FROM tabelle;
Zusammenfassung
Du hast gelernt, was CONCAT ist, wie Du es in SQL verwendest, welche Alternativen es gibt und wie du einige der häufigsten Fehler vermeiden kannst.
Ich hoffe dieser Artikel hat Dir geholfen, die CONCAT Funktion besser zu verstehen. Solltest du Fragen haben, ist die Kommentarsektion jederzeit für Dich offen.