Verketten zwei Spalten in MySQL
-
Verketten von Spalten mit der Funktion
CONCAT
in MySQL -
Verketten von Spalten mit der Funktion
CONCAT_WS
in MySQL
Dieser Artikel zeigt Ihnen verschiedene Möglichkeiten, Daten zweier Spalten in MySQL
zu verketten. Diese Aufgabe lässt sich leicht programmgesteuert erledigen, indem man Felder aus einer MySQL
-Tabelle auswählt und deren Werte nach der Verkettung ihrer Werte in einer Variablen speichert.
Es ist möglich, das obige Verfahren zu vereinfachen, indem Sie die Werte verketten, während Sie Zeilen aus der Datenbanktabelle auswählen.
Nehmen wir nun ein einfaches Beispiel. Wenn Sie zwei separate Spalten in der Datenbank als Vor- und Nachname haben und den Wert in beiden Spalten als einen einzigen vollständigen Namen anzeigen möchten, können Sie einen der beiden angegebenen Ansätze verwenden, um Ihre Aufgabe zu erfüllen. Wenn eine Adresse in einer Datenbank in mehrere Spalten aufgeteilt ist und Sie sie als eine einzige Adresse, einschließlich Stadt, Bundesland und Land, in Ihrer Anwendung haben möchten, ist die Funktion CONCAT
sehr nützlich.
Zwei verschiedene Funktionen können verwendet werden, um diese Aufgabe zu erfüllen.
- Verwendung der Funktion
CONCAT
- Verwendung der Funktion
CONCAT_WS
Die beiden Funktionen CONCAT()
und CONCAT_WS()
verketten zwei oder mehr Strings. Diese beiden Funktionen unterscheiden sich dadurch, dass die Funktion CONCAT_WS()
mit einem Trennzeichen zwischen Strings arbeitet, während die Funktion CONCAT()
die Verwendung von Trennzeichen nicht zulässt. Ein weiterer wesentlicher Unterschied zwischen diesen Funktionen besteht darin, dass die Funktion CONCAT()
den Wert NULL
zurückgibt, wenn eines der Argumente NULL
ist. Im Gegensatz dazu liefert die Funktion CONCAT_WS()
den Wert NULL
nur zurück, wenn das Trennzeichen NULL
ist.
Das folgende Skript erstellt eine Tabelle student
mit vier Spalten (sid
, firstname
, lastname
und email
).
CREATE TABLE student (sid INT, firstname VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, email VARCHAR(55) NOT NULL);
Zur Veranschaulichung fügen wir Beispieldatenwerte in die Tabelle Student
ein.
INSERT INTO student
VALUES (111,'Sim','Marlw','sim.marlw@gmail.com'),
(124,'John','Carl','John.carl@gmail.com'),
(362,'Paul','cohelo','paul.coh@google.com'),
(244,'Lunas','sen','Lonas.sen@max.com');
INSERT INTO student
VALUES (114,'Jaine','Kora','jaine.kora@abs.com'),
(615,'Roma','Sholy','roma.sh11@yahoo.com'),
(997,'Beaon','shrlon','beatrice.ss22@yahoo.com'),
(332,'Peter','cohelo','peter.coh@google.com');
Die unten angegebene Abfrage gibt alle Daten aus der Schülertabelle zurück:
SELECT * FROM student order by sid;
Verketten von Spalten mit der Funktion CONCAT
in MySQL
Die Funktion CONCAT
kann Werte aus mehreren Spalten zu einer einzigen Spalte verketten oder kombinieren. Die Syntax für die Funktion CONCAT
ist wie folgt:
CONCAT(Column 1, column 2,......)
Wir werden nun sehen, wie man dies mit der SELECT
-Abfrage verwendet:
SELECT sid, CONCAT(firstname, " ", lastname) AS fullname FROM student;
Die Ausgabe wird sein:
Hinweis: Die ursprüngliche Tabelle wird nicht aktualisiert. Mit einer select
-Abfrage kann der Inhalt auf dem Prompt angezeigt werden.
Verketten von Spalten mit der Funktion CONCAT_WS
in MySQL
Die Funktion CONCAT_WS
kann auch Werte aus mehreren Spalten zu einzelnen Spalten verketten oder kombinieren. Es hat eine zusätzliche Funktion, um Trennzeichen zusammen mit Spaltenwerten oder Zeichenketten hinzuzufügen. Dieses Trennzeichen kann ein Komma (,), ein Bindestrich (-), ein Unterstrich (_) oder eine beliebige statische Zeichenkette oder ein Muster wie (***) usw. sein. Die Syntax für eine Funktion CONCAT_WS
ist wie folgt:
CONCAT_WS(SEPARATOR,Column 1, column 2,......)
Wir werden nun sehen, wie man dies mit der SELECT
-Abfrage verwendet:
SELECT sid, CONCAT_WS( "_", firstname, lastname,"***" ) AS fullname FROM student;
Die Ausgabe wird sein: