domingo, 26 de março de 2017

Função CONCAT() - Concatenar

Olá!

Na tabela de exemplo abaixo temos o armazenamento do nome e sobrenome da pessoa em colunas diferentes, veja:

PESSOA
CD_PESSOANOMESOBRENOMEIDADE
1FelipeBarbosa23
2AnaVieira20
3JoãoSantos19
4Alinenull21
5MairaDantas25
6Ananull19
7AlineFerreira22

Deste modo, se a aplicação necessitar apresentar o nome completo da pessoa em uma única linha, será realizado a concatenação dos valores dessas colunas pelo front-end (HTML; PHP; Java; etc), ou, previamente pela instrução SQL.

Para concatenar valores de colunas no SQL utilizamos a função CONCAT(), sintaxe:
  • CONCAT (expressão-1, expressão-2, ...)
Onde, "expressão" pode ser um valor fixo, ou uma coluna, ou o resultado de outra função.

Exemplos:
1) - Concatenar as colunas NOME e SOBRENOME

SQL:
SELECT CONCAT(NOME, SOBRENOME)
  FROM PESSOA;

Resultado:
  1. FelipeBarbosa
  2. AnaVieira
  3. JoãoSantos
  4. null
  5. MairaDantas
  6. null
  7. AlineFerreira

2) - Concatenar coluna com valor fixo

SQL:
SELECT CONCAT(NOME, " valorFixoTeste")
  FROM PESSOA
 WHERE CD_PESSOA = 1;

Resultado:
  1. Felipe valorFixoTeste

3) - Concatenar coluna com o resultado de outra função

SQL:
SELECT CONCAT(NOME, COALESCE(SOBRENOME, " Sobrenome não cadastrado"))
  FROM PESSOA;

Resultado:
  1. FelipeBarbosa
  2. AnaVieira
  3. JoãoSantos
  4. Aline Sobrenome não cadastrado
  5. MairaDantas
  6. Ana Sobrenome não cadastrado
  7. AlineFerreira

Note que com o resultado dos exemplos, podemos constatar algumas características da função CONCAT(), são:
  • Os valores das colunas são concatenados sem a adição de espaços. No primeiro exemplo o nome e sobrenome ficaram juntos.
  • Quando o valor de uma expressão é nulo, o resultado da concatenação é nulo.

Para adicionar o espaço entre o nome e sobrenome, veja a solução:
SQL:
SELECT CONCAT(NOME, " ", SOBRENOME)
  FROM PESSOA;

Consultar a relação de Termos e Abreviaturas acesse aqui.
Felipe Barbosa Ferreira
Até o próximo post!

Nenhum comentário:

Postar um comentário