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