MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment concaténer des chaînes en SQL

La plupart des principaux SGBDR offrent plusieurs options pour concaténer deux ou plusieurs chaînes.

  • Il y a le CONCAT() fonction, qui concatène ses arguments.
  • Il y a aussi un CONCAT_WS() qui vous permet de spécifier un séparateur qui sépare les chaînes concaténées.
  • Et il y a aussi un opérateur de concaténation de chaîne, qui nous permet de concaténer ses opérandes.

Vous trouverez ci-dessous des exemples de chaque méthode.

Le CONCAT() Fonction

La plupart des principaux SGBDR fournissent un CONCAT() fonction pour concaténer ses arguments de chaîne. Généralement, les arguments qui ne sont pas des chaînes sont convertis en chaîne avant que la concaténation ne se produise.

Exemple :

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

Résultat :

BangkokBreaking

Avec cette fonction, si nous voulons inclure un espace entre les chaînes, nous devons soit ajouter un espace à l'une des chaînes, soit inclure un espace comme argument séparé :

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

Résultat :

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

SGBDR qui ont un CONCAT() incluent MySQL, MariaDB, SQL Server, Oracle et PostgreSQL.

SQLite n'inclut pas de CONCAT() fonction, mais il fait avoir un opérateur de concaténation de chaînes (voir ci-dessous).

Le CONCAT_WS() Fonction

Une autre façon d'inclure un espace entre les chaînes est d'utiliser le CONCAT_WS() une fonction. Cette fonction vous permet de spécifier un séparateur qui sera utilisé pour séparer toutes les chaînes concaténées.

Exemple :

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

Résultat :

Bangkok Breaking

Cette fonction peut être particulièrement utile si vous avez beaucoup de chaînes à concaténer :

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

Résultat :

Red, Green, Orange, Blue

Dans ce cas, il vous suffit de spécifier le séparateur une seule fois.

Les SGBDR qui ont un CONCAT_WS() incluent MySQL, MariaDB, SQL Server et PostgreSQL.

SQLite et Oracle n'ont pas de CONCAT_WS() fonctionnent, mais ils font avoir un opérateur de concaténation de chaînes (voir ci-dessous).

L'opérateur de concaténation de chaînes

La plupart des SGBDR incluent un opérateur de concaténation de chaînes qui concatène ses opérandes.

Si vous utilisez SQLite, c'est votre seule option.

Exemple :

SELECT 'Spy' || 'craft';

Résultat :

Spycraft

Notez que dans MySQL, vous devrez d'abord activer l'opérateur de concaténation de canal.

Il en va de même pour MariaDB.

SQL Server

L'exemple ci-dessus ne fonctionnera pas dans SQL Server. Dans SQL Server, utilisez le signe plus (+ ) opérateur de concaténation de chaîne :

SELECT 'Spy' + 'craft';

Résultat :

Spycraft