Coalesce: colocando valor padrão no resultado da query

Coalesce: colocando valor padrão no resultado da query
Guilherme Silveira
Guilherme Silveira

Compartilhe

Já sabemos que quando se trata de SQL, nulo é nulo e vazio é vazio. Nosso sistema permite o campo nulo, então temos alguns nulos no banco:


select nome, empresa from Alunos a;

\> Guilherme, NULL > ... > Ana, Alura

Agora, queria trazer também a empresa(que é um campo opcional). Mas se ela fosse null, gostaria que trouxesse algo mais significativo, como "Não informada". O que quero então é trazer um valor padrão na hora de executar a query:

Banner da promoção da black friday, com os dizeres: A Black Friday Alura está chegando. Faça parte da Lista VIP, receba o maior desconto do ano em primeira mão e garanta bônus exclusivos. Quero ser VIP

select nome, coalesce(empresa, "Não informada") from Alunos a;

\> Guilherme, Não informada > ... > Ana, Alura

O coalesce traz o primeiro valor não nulo do que passamos pra ele. Isto é: se a empresa for nula, ele devolve "Não informada". Também podemos usar com números: coalesce(valor, 0).

Dica do Rafael Dipold!

Guilherme Silveira
Guilherme Silveira

Co-fundador da Alura, da Caelum e do GUJ. Com 18 anos de ensino nas áreas de programação e dados, criou mais de 100 cursos. Possui formação em engenharia de software, viés matemático e criativo, além de ser medalhista de ouro em competições nacionais de computação, tendo representado o Brasil nos mundiais. Participante de comunidades open source e de educação em tecnologia, tendo escrito 7 livros. Faz mágica e fala coreano no tempo livre.

Veja outros artigos sobre Data Science