Olá galera, chegando no blog a primeira postagem de muitas sobre Banco de Dados. Para começar vamos estudar duas funções simples, mas ao mesmo tempo muito útil. Iremos estudar as funções CONCAT e COALESCE em MySql.

Por exemplo:

Durante a implementação de um relatório de um sistema que você está desenvolvendo, você se depara com a seguinte situação:

No banco de dados existe uma tabela chamada de ‘Alunos‘, nesta tabela alguns campos nos interessam para entender a situação. São eles: ‘nome‘ (campo obrigatório) e ‘observacao‘ (campo que permite nulo). Para o desenvolvimento do relatório necessitamos concatenar (juntar) os dois campos especificamos, separando-os apenas com um traço (‘‘). A tabela possui os dados mostrados na Imagem 1:

Imagem 1: Dados gravados na tabela Aluno




Você até poderia fazer uma consulta simples (Imagem 2), e concatenar estes dois campos com o auxilio da Linguagem de Programação, diretamente na aplicação:

Imagem 2: Consulta na tabela Alunos

Mas haverá deverá ser feito um trabalho extra, se escolhermos esta opção. Vamos fazer algo mais prático. Com o auxilio da função CONCAT iremos juntar estes campos diretamente na query que estamos escrevendo. Esta função possui a seguinte sintaxe:

CONCAT(str1, str2, …)

Onde cada str1 e str2 são quaisquer valores (convertidos para string, diretamente pela função) que serão juntados. Como você pode ver é possível concatenar vários valores, tudo vai depender da sua necessidade. Para o nosso problema, vamos juntar ‘nome‘ + ‘ ‘ + ‘observacao‘. Logo a query ficará da seguinte forma (Imagem 3):

Imagem 3: Consulta concatenando os campos ‘nome‘ e ‘observacao‘, separados por um traço (‘ ‘)

Se executarmos esta query a saída será a seguinte (Imagem 4):

Imagem 4: Resultado da concatenação

Perceba que os casos onde o campo ‘observacao‘ é nulo, a saída também será nula. Isso acontece devido ao fato de, no MySql, ser possível apenas concatenar valores não nulos. Logo, quando algum dos campos possui tal valor, há a necessidade de converter este valor, no resultado da consulta. É exatamente isso que a função COALESCE faz. Nela você “instrui” a consulta, para quando o valor de um campo for nulo, substituir o valor por alguma coisa, podendo ser uma string vazia (”), por exemplo.

A sintaxe da função COALESCE é a seguinte:

COALESCE(campo[se nulo], valor[quando nulo])

O primeiro parâmetro é o campo da consulta, no nosso caso ‘observacao‘, já o segundo parâmetro é o valor que será atribuído, quando o resultado da consulta for nulo (no nosso caso ”).

Então, se alterarmos a nossa consulta para (Imagem 5):

Imagem 5: Query para realizar a concatenação de campos

Por fim, o resultado da consulta é o que esperávamos (Imagem 6).

Imagem 6: Resultado da query para realizar a concatenação de campos utilizando as funções CONCAT e COALESCE




Entre no grupo do Telegram para receber as dicas de cursos que estão gratuitos e ainda ficar por dentro das promoções da Udemy.

Clique na imagem para acessar o grupo.

Clique aqui para curtir a página Programação Prática no Facebook.

Clique aqui para inscrever-se no Canal Programação Prática no YouTube.



Até a próxima postagem! 🙂


0 comentários

Deixe um comentário

Avatar placeholder

O seu endereço de email não será publicado. Campos obrigatórios marcados com *