Olá!
Na tabela de exemplo abaixo temos o armazenamento do nome e sobrenome da pessoa em colunas diferentes, veja:
PESSOA | |||
CD_PESSOA | NOME | SOBRENOME | IDADE |
1 | Felipe | Barbosa | 23 |
2 | Ana | Vieira | 20 |
3 | João | Santos | 19 |
4 | Aline | null | 21 |
5 | Maira | Dantas | 25 |
6 | Ana | null | 19 |
7 | Aline | Ferreira | 22 |
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:
- FelipeBarbosa
- AnaVieira
- JoãoSantos
- null
- MairaDantas
- null
- AlineFerreira
2) - Concatenar coluna com valor fixo
SQL:
SELECT CONCAT(NOME, " valorFixoTeste")
FROM PESSOA
WHERE CD_PESSOA = 1;
Resultado:
- 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:
- FelipeBarbosa
- AnaVieira
- JoãoSantos
- Aline Sobrenome não cadastrado
- MairaDantas
- Ana Sobrenome não cadastrado
- 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;
Felipe Barbosa Ferreira
Até o próximo post!
Nenhum comentário:
Postar um comentário