Select com if em Oracle

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?