[firebase-br] Iif e case

Murilo Bento murilo em cprinformatica.com.br
Ter Set 5 16:35:31 -03 2006


problema resolvido =D

select case
            when vl_valor < 0 then (vl_valor * -1)
            when vl_valor >= 0 then vl_valor
            end as valor_positivo
from....






"Murilo Bento" <murilo em cprinformatica.com.br> 
escreveu na mensagem news:edkj63$9qd$1 em sea.gmane.org...
> No Firebird 2.0 foi inserida a função Iif, eu naõ cheguei a testar, mas 
> tenho 2 dúvidas..
>
> 1ª - Eu poderia usar-lo exatamente como no delphi, por exemplo, assim :
>
> select Iif(vl_valor < 0, vl_valor, (vl_valor * -1)) from ........
>
>
> ??????????
>
> 2ª - No Firebird 1.5?? Nõa há o Iif, sei que tem o case,que muito dizem 
> que é a mesma idéia, como eu faria o select acima no Firebird 1.5, é claro 
> possivelmente usando o case, pois acontece que o valor tem sempre que vir 
> positivo, estou usando a função abs de uma UDF, mas no dbExpress está 
> dando o seguinte erro:
>
> dbExpress Error:  Invalid Precision.
>
> Não sei o motivo, mas sei que é o abs, por isso gostaria de não precisar o 
> usar a função, e sim um comando mais "simples", que me da a garantia de 
> que não vai ocorrer este erro.
>
>
> E é calro se alguém souber como resolver o erro do abs com o dbExpress 
> isso seria muito bem vindo, por que já que ela já está sendo usada no 
> sistema, não haveria problema.
>
> 
> Obrigado.
>
>
>
>


--------------------------------------------------------------------------------


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 







Mais detalhes sobre a lista de discussão lista