Die meisten großen RDBMS bieten mehrere Optionen zum Verketten von zwei oder mehr Zeichenfolgen.
- Da ist der
CONCAT()Funktion, die ihre Argumente verkettet. - Es gibt auch einen
CONCAT_WS()Dadurch können Sie ein Trennzeichen angeben, das die verketteten Zeichenfolgen trennt. - Und es gibt auch einen String-Verkettungsoperator, mit dem wir seine Operanden verketten können.
Nachfolgend finden Sie Beispiele für jede Methode.
Der CONCAT() Funktion
Die meisten großen RDBMSs bieten ein CONCAT() Funktion zum Verketten ihrer String-Argumente. Im Allgemeinen werden Nicht-String-Argumente in einen String konvertiert, bevor die Verkettung erfolgt.
Beispiel:
SELECT CONCAT('Bangkok', 'Breaking'); Ergebnis:
BangkokBreaking
Wenn wir bei dieser Funktion ein Leerzeichen zwischen den Zeichenfolgen einfügen möchten, müssen wir entweder einer der Zeichenfolgen ein Leerzeichen hinzufügen oder ein Leerzeichen als separates Argument einfügen:
SELECT
CONCAT('Bangkok ', 'Breaking') AS "Option 1",
CONCAT('Bangkok', ' ', 'Breaking') AS "Option 2"; Ergebnis:
+------------------+------------------+ | Option 1 | Option 2 | +------------------+------------------+ | Bangkok Breaking | Bangkok Breaking | +------------------+------------------+
RDBMSs, die einen CONCAT() haben Funktion umfassen MySQL, MariaDB, SQL Server, Oracle und PostgreSQL.
SQLite enthält kein CONCAT() funktionieren, aber es tut haben einen String-Verkettungsoperator (siehe unten).
Der CONCAT_WS() Funktion
Eine andere Möglichkeit, ein Leerzeichen zwischen den Zeichenfolgen einzufügen, ist die Verwendung von CONCAT_WS() Funktion. Mit dieser Funktion können Sie ein Trennzeichen angeben, das zum Trennen aller verketteten Zeichenfolgen verwendet wird.
Beispiel:
SELECT CONCAT_WS(' ', 'Bangkok', 'Breaking'); Ergebnis:
Bangkok Breaking
Diese Funktion kann besonders nützlich sein, wenn Sie viele Zeichenfolgen verketten müssen:
SELECT CONCAT_WS(', ', 'Red', 'Green', 'Orange', 'Blue'); Ergebnis:
Red, Green, Orange, Blue
In solchen Fällen müssen Sie das Trennzeichen nur einmal angeben.
RDBMSs, die einen CONCAT_WS() haben Funktion gehören MySQL, MariaDB, SQL Server und PostgreSQL.
SQLite und Oracle haben kein CONCAT_WS() funktionieren, aber sie tun haben einen String-Verkettungsoperator (siehe unten).
Der String-Verkettungsoperator
Die meisten RDBMS enthalten einen Zeichenfolgenverkettungsoperator, der seine Operanden verkettet.
Wenn Sie SQLite verwenden, ist dies Ihre einzige Option.
Beispiel:
SELECT 'Spy' || 'craft'; Ergebnis:
Spycraft
Beachten Sie, dass Sie in MySQL zuerst den Pipe-Verkettungsoperator aktivieren müssen.
Dasselbe gilt für MariaDB.
SQL-Server
Das obige Beispiel funktioniert nicht in SQL Server. Verwenden Sie in SQL Server das Pluszeichen (+ ) String-Verkettungsoperator:
SELECT 'Spy' + 'craft'; Ergebnis:
Spycraft