Como concatenar colunas de texto no SQL?
A concatenação de colunas no SQL é utilizada para unir valores de diferentes colunas em uma única string, sendo útil para exibir nomes completos, endereços formatados e outras informações combinadas.
Usando CONCAT para unir colunas
A função CONCAT() é amplamente usada para juntar colunas de texto:
SELECT CONCAT(nome, ' ', sobrenome) AS nome_completo FROM clientes;
Aqui, as colunas nome
e sobrenome
são unidas, separadas por um espaço.
Concatenando com separadores
Se precisarmos adicionar um separador específico, podemos usar CONCAT_WS():
SELECT CONCAT_WS(', ', cidade, estado) AS localizacao FROM clientes;
Essa consulta retorna valores como "São Paulo, SP", com uma vírgula e espaço entre os elementos.
Usando o operador || no PostgreSQL e Oracle
Em bancos como PostgreSQL e Oracle, também podemos concatenar textos usando ||
:
SELECT nome || ' ' || sobrenome AS nome_completo FROM clientes;
Esse método funciona da mesma forma que CONCAT()
.
Concatenando valores numéricos e texto
Se uma das colunas for numérica, devemos convertê-la para string:
SELECT CONCAT('Pedido #', CAST(id AS CHAR)) AS numero_pedido FROM pedidos;
Isso garante que números possam ser unidos corretamente a textos.
Cuidados ao concatenar strings
- Valores NULL podem afetar CONCAT(), resultando em NULL ao invés da junção esperada.
- Para evitar problemas, podemos substituir NULL por uma string vazia usando
IFNULL()
no MySQL ouCOALESCE()
no PostgreSQL:SELECT CONCAT(IFNULL(nome, ''), ' ', IFNULL(sobrenome, '')) AS nome_completo FROM clientes;
Por que CONCAT() é essencial para manipulação de strings no SQL?
A concatenação de colunas no SQL é amplamente utilizada para formatar e organizar dados em sistemas de relatórios e exibição. Em um banco de dados de clientes, unir colunas como nome
e sobrenome
evita a necessidade de manipulação de dados no frontend da aplicação. Além disso, ao formatar endereços ou informações personalizadas, CONCAT() facilita a apresentação estruturada. Em bancos de dados que suportam ||
como operador de concatenação, a flexibilidade aumenta, permitindo construir consultas dinâmicas com mais facilidade.
Algumas aplicações:
- Exibição de nomes completos em sistemas de cadastro
- Formatação de endereços completos em relatórios
- Criação de códigos de referência a partir de IDs
- Construção de strings personalizadas para mensagens automáticas
- Geração de logs estruturados a partir de múltiplos campos
Dicas para quem está começando
- Use
CONCAT()
para unir colunas de texto sem precisar modificar os dados - Se precisar de separadores entre valores, prefira
CONCAT_WS()
- Para evitar erros com NULL, utilize
IFNULL()
ouCOALESCE()
- Teste a sintaxe do seu banco de dados – alguns usam
||
ao invés deCONCAT()
- Ao concatenar números, converta-os para string antes da junção
Contribuições de Fernando Albuquerque