MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So verketten Sie Zeichenfolgen in SQL

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