MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak łączyć ciągi w SQL

Większość głównych systemów zarządzania bazą danych (RDBMS) udostępnia kilka opcji łączenia dwóch lub więcej ciągów.

  • Jest CONCAT() funkcja, która łączy swoje argumenty.
  • Istnieje również funkcja CONCAT_WS() który pozwala określić separator, który oddziela połączone ciągi.
  • Istnieje również operator konkatenacji ciągów znaków, który pozwala nam łączyć jego operandy.

Poniżej znajdują się przykłady każdej metody.

CONCAT() Funkcja

Większość głównych RDBMS zapewnia funkcję CONCAT() funkcja do łączenia jej argumentów ciągu. Ogólnie rzecz biorąc, argumenty niebędące ciągami są konwertowane na ciąg przed konkatenacją.

Przykład:

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

Wynik:

BangkokBreaking

Dzięki tej funkcji, jeśli chcemy umieścić spację między ciągami, musielibyśmy albo dodać spację do jednego z ciągów, albo dołączyć spację jako oddzielny argument:

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

Wynik:

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

RDBMS-y z CONCAT() funkcja obejmuje MySQL, MariaDB, SQL Server, Oracle i PostgreSQL.

SQLite nie zawiera CONCAT() działa, ale tak mieć operator konkatenacji ciągów (patrz poniżej).

CONCAT_WS() Funkcja

Innym sposobem na umieszczenie spacji między ciągami jest użycie CONCAT_WS() funkcjonować. Ta funkcja pozwala określić separator, który zostanie użyty do oddzielenia wszystkich połączonych ciągów.

Przykład:

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

Wynik:

Bangkok Breaking

Ta funkcja może być szczególnie przydatna, jeśli masz dużo ciągów do połączenia:

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

Wynik:

Red, Green, Orange, Blue

W takich przypadkach separator wystarczy określić tylko raz.

RDBMS, które mają CONCAT_WS() funkcja obejmuje MySQL, MariaDB, SQL Server i PostgreSQL.

SQLite i Oracle nie mają funkcji CONCAT_WS() działają, ale tak mieć operator konkatenacji ciągów (patrz poniżej).

Operator konkatenacji ciągów

Większość systemów RDBMS zawiera operator konkatenacji ciągów, który łączy operandy.

Jeśli używasz SQLite, jest to jedyna opcja.

Przykład:

SELECT 'Spy' || 'craft';

Wynik:

Spycraft

Zauważ, że w MySQL musisz najpierw włączyć operator konkatenacji potoku.

To samo dotyczy MariaDB.

Serwer SQL

Powyższy przykład nie zadziała w SQL Server. W SQL Server użyj znaku plus (+ ) operator konkatenacji ciągów:

SELECT 'Spy' + 'craft';

Wynik:

Spycraft

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę posortować kolekcję Meteor według czasu wstawienia?

  2. Mongoose findByIdAndUpdate nie zwraca prawidłowego modelu

  3. Importowanie danych do instancji MongoDB

  4. Właściwy sposób importowania pliku json do mongo

  5. Tworzenie interfejsów API REST za pomocą EVE