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