Cláusula Case em consulta sql – MySQL
[ads2]
Olá a todos os Geeks, hoje o tema é Banco de Dados. O que vamos fazer é explicar como funciona a cláusula CASE em consultas SQL.
O exemplo que faremos pode ser usado em diversas situações, por exemplo quando você deseja mostrar só o mês de uma data e por extenso. Usaremos como exemplo a tabela a baixo.
Id | Data | Valor |
1 | 10/02/2014 | 45,00 |
2 | 21/05/2014 | 120,90 |
3 | 16/01/2014 | 435,00 |
4 | 30/12/2013 | 300,00 |
Você pode usar os recursos da linguagem de programação que você usa para fazer isso, mas acredito que por SQL seja mais fácil e dependendo do tamanho da Query ajude no desempenho de sua aplicação. Usaremos também a função month() que retorna somente o mês de uma determinada data. Veja exemplo:
select id, case month(data)
when 1 then 'Janeiro'
when 2 then 'Fevereiro'
when 3 then 'Março'
when 4 then 'Abril'
when 5 then 'Maio'
when 6 then 'Junho'
when 7 then 'Julho'
when 8 then 'Agosto'
when 9 then 'Setembro'
when 10 then 'Outubro'
when 11 then 'Novembro'
when 12 then 'Dezembro'
end as mes, valor from tabela
Como você pode perceber a cláusula começa com case e termina com end, e depois usamos um alias para a coluna, que chamamos de mes, veja o resultado:
Id | mes | Valor |
1 | Fevereiro | 45,00 |
2 | Maio | 120,90 |
3 | Janeiro | 435,00 |
4 | Dezembro | 300,00 |
É isso ai pessoal, até a próxima!
[ads1]