Olá. estou procurando a sintaxe do oracle para o comando IF ou IFNull.
Exemplo
no MySQL esse comando funciona
[quote]SELECT IF(1>2,2,3);
[/quote]
já no Oracle ele não esta funcionando
Alguem sabe como me ajduar?
Olá. estou procurando a sintaxe do oracle para o comando IF ou IFNull.
Exemplo
no MySQL esse comando funciona
[quote]SELECT IF(1>2,2,3);
[/quote]
já no Oracle ele não esta funcionando
Alguem sabe como me ajduar?
Tente assim:
SELECT CASE
WHEN 1 > 2
THEN 2
ELSE 3
END
FROM DUAL;
Tem o decode tambem, mas só compara igualdade:
SELECT DECODE (campo, 2, 'o campo é igual a 2', 'o campo é diferente de 2')
FROM tabela;
Vc pode utilizar as funções decode e sign:
SELECT DECODE(SIGN(campo1 - campo2), 1, 2, 3)
FROM tabela
Função SIGN(<exprN>) : Se exprN for negativo retorna -1, se for positivo retorna 1, se for 0 retorna 0.
Em relação ao IfNull é facil no ORACLE o comando é nvl()
select zzz, xxx where xxx =NVL(aaa, 1)
– Ou seja, se aaa for nulo retorna 1;
O decode voce usaria da seguinte forma:
select decode(dia_da_semanda, 1, "Domingo") from minha tabela;
Ok?