MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como concatenar strings no SQL


A maioria dos principais RDBMSs oferece várias opções para concatenar duas ou mais strings.
  • Há o CONCAT() função, que concatena seus argumentos.
  • Há também um CONCAT_WS() que permite especificar um separador que separa as strings concatenadas.
  • E também há um operador de concatenação de strings, que nos permite concatenar seus operandos.

Abaixo estão exemplos de cada método.

O CONCAT() Função


A maioria dos principais RDBMSs fornece um CONCAT() função para concatenar seus argumentos de string. Geralmente, os argumentos que não são de string são convertidos em uma string antes que a concatenação ocorra.

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

Resultado:
BangkokBreaking

Com esta função, se quisermos incluir um espaço entre as strings, precisaremos adicionar um espaço a uma das strings ou incluir um espaço como um argumento separado:
SELECT 
    CONCAT('Bangkok ', 'Breaking') AS "Option 1",
    CONCAT('Bangkok', ' ', 'Breaking') AS "Option 2";

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

RDBMSs que possuem um CONCAT() incluem MySQL, MariaDB, SQL Server, Oracle e PostgreSQL.

SQLite não inclui um CONCAT() funciona, mas funciona tem um operador de concatenação de strings (veja abaixo).

O CONCAT_WS() Função


Outra maneira de incluir um espaço entre as strings é usar o CONCAT_WS() função. Esta função permite especificar um separador que será usado para separar todas as strings concatenadas.

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

Resultado:
BangkokBreaking

Esta função pode ser particularmente útil se você tiver muitas strings para concatenar:
SELECT CONCAT_WS(', ', 'Red', 'Green', 'Orange', 'Blue');

Resultado:
Red, Green, Orange, Blue

Nesses casos, você só precisa especificar o separador uma vez.

RDBMSs que possuem um CONCAT_WS() incluem MySQL, MariaDB, SQL Server e PostgreSQL.

SQLite e Oracle não possuem um CONCAT_WS() funcionam, mas eles fazem tem um operador de concatenação de strings (veja abaixo).

O Operador de Concatenação de String


A maioria dos RDBMSs inclui um operador de concatenação de strings que concatena seus operandos.

Se você estiver usando SQLite, esta é sua única opção.

Exemplo:
SELECT 'Spy' || 'craft';

Resultado:
Spycraft

Observe que no MySQL, você precisará habilitar primeiro o operador de concatenação de pipe.

O mesmo vale para MariaDB.

SQL Server


O exemplo acima não funcionará no SQL Server. No SQL Server, use o sinal de mais (+ ) operador de concatenação de strings:
SELECT 'Spy' + 'craft';

Resultado:
Spycraft