MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come concatenare stringhe in SQL

La maggior parte dei principali RDBMS fornisce diverse opzioni per concatenare due o più stringhe.

  • C'è il CONCAT() funzione, che concatena i suoi argomenti.
  • C'è anche un CONCAT_WS() che consente di specificare un separatore che separi le stringhe concatenate.
  • E c'è anche un operatore di concatenazione di stringhe, che ci consente di concatenare i suoi operandi.

Di seguito sono riportati esempi di ciascun metodo.

Il CONCAT() Funzione

La maggior parte dei principali RDBMS fornisce un CONCAT() funzione per concatenare i suoi argomenti stringa. In genere, gli argomenti non stringa vengono convertiti in una stringa prima che si verifichi la concatenazione.

Esempio:

SELECT CONCAT('Bangkok', 'Breaking');

Risultato:

BangkokBreaking

Con questa funzione, se vogliamo includere uno spazio tra le stringhe, dovremmo aggiungere uno spazio a una delle stringhe o includere uno spazio come argomento separato:

SELECT 
    CONCAT('Bangkok ', 'Breaking') AS "Option 1",
    CONCAT('Bangkok', ' ', 'Breaking') AS "Option 2";

Risultato:

+------------------+------------------+
| Option 1         | Option 2         |
+------------------+------------------+
| Bangkok Breaking | Bangkok Breaking |
+------------------+------------------+

RDBMS che hanno un CONCAT() includono MySQL, MariaDB, SQL Server, Oracle e PostgreSQL.

SQLite non include un CONCAT() funzione, ma fa avere un operatore di concatenazione di stringhe (vedi sotto).

Il CONCAT_WS() Funzione

Un altro modo per includere uno spazio tra le stringhe è usare CONCAT_WS() funzione. Questa funzione consente di specificare un separatore che verrà utilizzato per separare tutte le stringhe concatenate.

Esempio:

SELECT CONCAT_WS(' ', 'Bangkok', 'Breaking');

Risultato:

Bangkok Breaking

Questa funzione può essere particolarmente utile se hai molte stringhe da concatenare:

SELECT CONCAT_WS(', ', 'Red', 'Green', 'Orange', 'Blue');

Risultato:

Red, Green, Orange, Blue

In questi casi, devi solo specificare il separatore una volta.

RDBMS che hanno un CONCAT_WS() includono MySQL, MariaDB, SQL Server e PostgreSQL.

SQLite e Oracle non hanno un CONCAT_WS() funzione, ma lo fanno avere un operatore di concatenazione di stringhe (vedi sotto).

L'operatore di concatenazione di stringhe

La maggior parte degli RDBMS include un operatore di concatenazione di stringhe che concatena i suoi operandi.

Se stai usando SQLite, questa è la tua unica opzione.

Esempio:

SELECT 'Spy' || 'craft';

Risultato:

Spycraft

Nota che in MySQL, dovrai prima abilitare l'operatore di concatenazione pipe.

Lo stesso vale per MariaDB.

SQL Server

L'esempio sopra non funzionerà in SQL Server. In SQL Server, utilizzare il segno più (+ ) operatore di concatenazione di stringhe:

SELECT 'Spy' + 'craft';

Risultato:

Spycraft