> 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]
-------------------------------------------------------------------------