Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função CONCAT() do MySQL

A função `CONCAT()` do MySQL é usada para concatenar duas ou mais cadeias de caracteres em uma única cadeia. É útil para criar uma saída de cadeia unificada de vários campos ou valores.

Uso

A função `CONCAT()` é usada com frequência para mesclar cadeias de caracteres de diferentes colunas ou variáveis, aprimorando a apresentação de dados em consultas. Ele pode lidar com qualquer número de argumentos, retornando `NULL` se algum argumento for `NULL`.

CONCAT(string1, string2, ...);

Nessa sintaxe, `string1`, `string2`, etc., representam as cadeias de caracteres ou valores de coluna a serem concatenados. Observe que os valores numéricos em `CONCAT()` são automaticamente convertidos em cadeias de caracteres.

Exemplos

1. Concatenação básica

SELECT CONCAT('Hello', ' ', 'World') AS greeting;

Esse exemplo concatena as cadeias de caracteres `'Hello'`, `' '` e `'World'`, resultando na saída: `Hello World`.

2. Concatenação de colunas

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

Aqui, a função `CONCAT()` combina as colunas `first_name` e `last_name` com um espaço entre elas, criando um nome completo para cada funcionário.

3. Concatenação com outras funções

SELECT CONCAT(first_name, ' ', last_name, ' - ', UPPER(job_title)) AS full_details
FROM employees;

Esse exemplo concatena `first_name`, `last_name` e a versão em maiúsculas de `job_title`, separados por espaços e um hífen, oferecendo uma cadeia de caracteres formatada para cada funcionário.

4. Manipulação de valores NULL

SELECT CONCAT(IFNULL(first_name, ''), ' ', IFNULL(last_name, '')) AS full_name
FROM employees;

Este exemplo usa `IFNULL()` para substituir os valores `NULL` por uma string vazia, garantindo que os resultados concatenados não sejam `NULL`.

Dicas e práticas recomendadas

  • Manipular valores NULL. Use `IFNULL()` ou `COALESCE()` para substituir os valores `NULL` para garantir que `CONCAT()` retorne os resultados esperados.
  • Use os separadores com sabedoria. Inclua espaços ou outros caracteres entre as cadeias de caracteres concatenadas para facilitar a leitura.
  • Otimize o desempenho. Minimize o número de campos concatenados quando possível, especialmente em grandes conjuntos de dados. Considere o impacto da concatenação de campos de texto grandes e use índices ou outras técnicas de otimização, se necessário.
  • Considere os tipos de dados. Certifique-se de que os tipos de dados sejam apropriados para concatenação; converta números em cadeias de caracteres, se necessário, usando `CAST()` ou `CONVERT()`.
  • Explorar alternativas. A função `CONCAT_WS()` permite que você especifique um separador entre as cadeias de caracteres, o que pode ser útil para uma concatenação mais controlada.

Contexto adicional

  • O MySQL converte automaticamente valores numéricos em strings dentro de `CONCAT()`.
  • Em alguns sistemas SQL, `CONCAT()` pode não retornar `NULL` se algum argumento for `NULL`, diferindo do comportamento do MySQL.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça