Usando IF no MySQL
O IF no MySQL é uma função de controle de fluxo, muito útil no nosso dia-a-dia.O IF retorna um valor numérico ou string, dependendo do contexto em que ela é usada.Neste artigo vou mostrar a sintaxe básica do IF e alguns exemplos práticos.
Sintaxe:
IF( expr1 , expr2 , expr3 )
Se expr1 é TRUE ( expr1 <> 0 e expr1 <> NULL ) então IF() retorna expr2 , senão ela retorna expr3 .
Exemplos:
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELECT IF(1<2 data-blogger-escaped--="" data-blogger-escaped-no="" data-blogger-escaped-yes=""> 'Yes'
mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
-> 'Não'
Fazer uma comparação por exemplo se o status de um registro está ativo ou inativo:
SELECT IF( tbl_status =0,’Inativo’,'ativo’) AS status FROM tb_tabela
Expressão IFNULL( expr1 , expr2 )
Se expr1 não é NULL , IFNULL() retorna expr1 , senão retorna expr2 . IFNULL() retorna um valor numérico ou string, dependendo do contexto em que ela é usada.
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'Yes'
O valor resultante padrão de IFNULL( expr1 , expr2 ) é o mais "geral" das duas expressões, na ordem STRING , REAL , ou INTEGER .
Expressão NULLIF( expr1 , expr2 )
Retorna NULL se expr1 = expr2 for verdadeiro, caso contrário retorna expr1 . Isso é o mesmo que CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END .
mysql> SELECT NULLIF(1,1);
-> NULL
mysql> SELECT NULLIF(1,2);
-> 1
0 comentários:
Postar um comentário