MySQL: Trabalhando com IF no select

Sintaxe:
IF(expressao,expr_true,expr_false)
Exemplo simples:

SELECT IF(1 > 2,'true','false'); -- false
SELECT IF(1 = 1,' true','false'); -- true

Outro exemplo:

Tabela: servicos
 
id descricao tipo
1  pintura   1
2  reforma   2
3  trocar    1
 
// sabendo que 1 refere-se a interno e 2 a externo,
// podemos usar o IF para improvisar a saída do select
// ao invés de mostrar números
 
SELECT id, descricao, IF(tipo=1,"Interno","Externo") as tipo
FROM servicos

Como ficaria o resultado:

id descricao tipo
1  pintura   Interno
2  reforma   Externo
3  trocar    Interno

Outro exemplo para melhor explicação deste recurso muito útil que nos poupa muito tempo:

SELECT id, empresa, situacao_id, IF(situacao_id=10,"Interno","Externo") as tipo
FROM empresas

 
Maiores informações confira no site oficial: acesse aqui.

Linux: Distribuições para Download

-> Ubuntu 9.10 Desktop ( http://ubuntu.c3sl.ufpr.br/releases/karmic/ubuntu-9.10-desktop-i386.iso) -> Kurumin 7.0 ( http://mirrors.uol.com.br/pub/kurumin/kurumin-7.0.iso) -> OpenSUSE 11.0 ( http://mirrors.uol.com.br/pub/suse/distribution/11.0/iso/dvd/openSUSE-11.0-DVD-i386.iso) -> Kernel

Leia mais »