A fun��o DECODE n�o pode testar operadores sen�o pela igualdade ou n�o dos
arguementos apresentados. Sendo assim, n�o h� uma forma nativa de fazer um
IIF no Oracle.

Voce tem duas op��es:

a) Construir uma function IIF em pl/sql e execut�-la e testar o retorno
atraves do JDBC como est� abaixo:

FUNCTION IIF(bCondicao IN BOOLEAN, cTrue IN VARCHAR2, cFalse IN VARCHAR2)
RETURN VARCHAR2 IS
      BEGIN
         IF bCondicao THEN
             RETURN cTrue ;
         ELSE
             RETURN cFalse ;
        END IF ;
 END IIF ;


b) usar a fun��o SIGN para "emular" os testes condicionais de > e <.
Funciona da seguinte forma: SIGN retorna 1 se o argumento passado � maior
que zero, 0 se � igual a 0 e -1 se for menor que zero. No exemplo, vou
assumir que tu quer testar se o valor X � maior que 10:

select decode (sign(x-10),1,'Maior',-1,'Menor',0,'Igual') from dual;

Vamos supor que X = 5. SIGN(5-10) vai retornar -1, logo, usamos o DECODE
para imprimir um 'Menor', e vice-versa.

Beleza?

Alisson Aguiar
Uni5.com


----- Original Message -----
From: Richard Wilson Rocha Antelo <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, August 22, 2001 4:53 PM
Subject: [java-list] Alguem sabe usar isso ( (X > Y) ? X : Y ) em um SQL
ORACLE ?


> Pessoal
>
>    Tenho que usar um teste no meu SQL para o Oracle.
>    No oracle nao existe (que eu saiba) uma funcao
> tipo "IIF" do FoxPro.
>    Existe a funcao Decode, mas nao serve por que tenho
> que testar (>,<,<=,>=...) e o Decode so testa igualdade.
>    Alguem ja criou alguma funcao "Java" no Oracle que
> simule um Iff([condicao],[Retorno true],[Retorno false]) ?
>    Obs: Os retornos podem ser datas, strings, numeros.
>    Existe outra alternativa ?
>
> Obrigado.
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
> d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a