IF e CASE no Mysql

É muito chato tratar coisas simples na aplicação, como o status de um registro, se for 0 é inativo, se for 1 esta ativo.
Vamos trata logo na consulta, muito mais rapido. veja o exemplo usando IF:

-> SELECT IF( tbl_status =0,’Inativo’,'ativo’) AS status FROM tb_tabela

Agora temos uma tabela com mais status, (1,2,3 e 4) , vamos usar CASE, e tratar o cara na consulta também:

-> SELECT CASE tbl_status
WHEN 1 THEN ‘Casado’
WHEN 1 THEN ‘Solteiro’
WHEN 3 THEN ‘Divorciado’
WHEN 4 THEN ‘Outros’

END as status
FROM tb_tabela

Espero que curtam ;-)

6 Responses

  1. Legal velho, mas isso funciona soh no mysql 5 né?

    []s

  2. Blz, nao sabia =)

    Valeu cara.

    Curto teu blog

  3. usando essa mesma query e possivel sabe o total de casado tipo colocar count
    e mostrar total de casados e ao lado de total de solteiros :D
    numa unica query
    obrigado

  4. Deixa eu preguntar
    Como se faz para encadear as consultas pois se bem entendi, voce faz um select e depois o outro com os resultados não ?

    Acho que não entendi muito bem as selects
    Abraço

Leave a Reply