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

Sådan sammenkædes strenge i SQL

De fleste af de store RDBMS'er giver flere muligheder for at sammenkæde to eller flere strenge.

  • Der er CONCAT() funktion, som sammenkæder dens argumenter.
  • Der er også en CONCAT_WS() der giver dig mulighed for at angive en separator, der adskiller de sammenkædede strenge.
  • Og der er også en strengsammenkædningsoperator, som giver os mulighed for at sammenkæde dens operander.

Nedenfor er eksempler på hver metode.

CONCAT() Funktion

De fleste større RDBMS'er giver en CONCAT() funktion til at sammenkæde dens strengargumenter. Generelt konverteres ikke-streng-argumenter til en streng, før sammenkædningen finder sted.

Eksempel:

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

Resultat:

BangkokBreaking

Med denne funktion, hvis vi vil inkludere et mellemrum mellem strengene, skal vi enten tilføje et mellemrum til en af ​​strengene eller inkludere et mellemrum som et separat argument:

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

Resultat:

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

RDBMS'er, der har en CONCAT() funktioner omfatter MySQL, MariaDB, SQL Server, Oracle og PostgreSQL.

SQLite inkluderer ikke en CONCAT() funktion, men det gør har en strengsammenkædningsoperator (se nedenfor).

CONCAT_WS() Funktion

En anden måde at inkludere et mellemrum mellem strengene på er at bruge CONCAT_WS() fungere. Denne funktion giver dig mulighed for at angive en separator, der skal bruges til at adskille alle sammenkædede strenge.

Eksempel:

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

Resultat:

Bangkok Breaking

Denne funktion kan være særlig nyttig, hvis du har mange strenge, der skal sammenkædes:

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

Resultat:

Red, Green, Orange, Blue

I sådanne tilfælde behøver du kun at angive separatoren én gang.

RDBMS'er, der har en CONCAT_WS() funktioner omfatter MySQL, MariaDB, SQL Server og PostgreSQL.

SQLite og Oracle har ikke en CONCAT_WS() funktion, men de gør har en strengsammenkædningsoperator (se nedenfor).

Stringsammenkædningsoperatøren

De fleste RDBMS'er inkluderer en strengsammenkædningsoperator, der sammenkæder dens operander.

Hvis du bruger SQLite, er dette din eneste mulighed.

Eksempel:

SELECT 'Spy' || 'craft';

Resultat:

Spycraft

Bemærk, at i MySQL skal du først aktivere rørsammenkædningsoperatøren.

Det samme gælder for MariaDB.

SQL-server

Ovenstående eksempel virker ikke i SQL Server. I SQL Server skal du bruge plustegnet (+ ) strengsammenkædningsoperator:

SELECT 'Spy' + 'craft';

Resultat:

Spycraft

  1. Sidekiq finder ikke registreringer for Rails Active Job

  2. Mongodb-forespørgsel baseret på element på specifik position i array

  3. MongoDB deleteMany()

  4. Mest populære NoSQL-databaser understøttet af ClusterControl