MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да конкатенираме низове в SQL

Повечето от основните RDBMS предоставят няколко опции за конкатенация на два или повече низове.

  • Има CONCAT() функция, която конкатенира своите аргументи.
  • Има и CONCAT_WS() което ви позволява да зададете разделител, който разделя конкатенираните низове.
  • Има и оператор за конкатенация на низове, който ни позволява да конкатенираме неговите операнди.

По-долу са дадени примери за всеки метод.

CONCAT() Функция

Повечето основни RDBMS предоставят CONCAT() функция за конкатенация на нейните низови аргументи. Обикновено аргументите, които не са низови, се преобразуват в низ, преди да настъпи конкатенацията.

Пример:

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

Резултат:

BangkokBreaking

С тази функция, ако искаме да включим интервал между низовете, ще трябва или да добавим интервал към един от низовете, или да включим интервал като отделен аргумент:

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

Резултат:

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

RDBMS, които имат CONCAT() функция включва MySQL, MariaDB, SQL Server, Oracle и PostgreSQL.

SQLite не включва CONCAT() функция, но прави имат оператор за конкатенация на низове (вижте по-долу).

CONCAT_WS() Функция

Друг начин да включите интервал между низовете е да използвате CONCAT_WS() функция. Тази функция ви позволява да посочите разделител, който ще се използва за разделяне на всички свързани низове.

Пример:

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

Резултат:

BangkokBreaking

Тази функция може да бъде особено полезна, ако имате много низове за конкатенация:

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

Резултат:

Red, Green, Orange, Blue

В такива случаи трябва само веднъж да посочите разделителя.

RDBMS, които имат CONCAT_WS() функция включва MySQL, MariaDB, SQL Server и PostgreSQL.

SQLite и Oracle нямат CONCAT_WS() функция, но те правят имат оператор за конкатенация на низове (вижте по-долу).

Операторът за конкатенация на низове

Повечето RDBMS включват оператор за конкатенация на низове, който конкатенира неговите операнди.

Ако използвате SQLite, това е единствената ви опция.

Пример:

SELECT 'Spy' || 'craft';

Резултат:

Spycraft

Имайте предвид, че в MySQL ще трябва първо да активирате оператора за конкатенация на тръби.

Същото важи и за MariaDB.

SQL сървър

Горният пример няма да работи в SQL Server. В SQL Server използвайте знака плюс (+ ) оператор за конкатенация на низове:

SELECT 'Spy' + 'craft';

Резултат:

Spycraft

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongorestore неуспешно:няма достъпни сървъри

  2. Java/MongoDB заявка по дата

  3. Как да наложа външни ключове в бази данни NoSql (MongoDB)?

  4. Meteor, дефинирайте колекциите динамично

  5. Как да инсталирам mongoDB на Windows?