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:
A coluna tipo possui os valores 1 ou 2, porém não queremos mostrar como resultado os números e sim um resultado personalizado. Quando for tipo 1 aparecerá no resultado a palavra interno e quando for tipo 2 a palavra externo.
O IF é bem útil para estes casos. Acompanhe o código abaixo:
Tabela: servicos id descricao tipo 1 pintura 1 2 reforma 2 3 trocar 1 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 |
Maiores informações acesse aqui.
simples, facil, pratico e rapido, vlw!
Obrigado pela Conteudo
O que eu preciso é verificar um campo se outro campo do select for ‘S’ ou outro campo se não for ‘S’, por exemplo:
select if(b.opcao = ‘S’, est_pais, est_estado) = tipo
teria que funcionar assim:
a) se b.opcao = ‘S’:
—> if est_pais = tipo
b) se b.opcao ‘S’:
—> if est_estado = tipo
Deu para entender?
Fala Daniel,
da forma como quer acredito que só funcione no where