[firebase-br] outro erro calculo...

Hélio Oliveira hpensador em gmail.com
Ter Jun 26 16:33:33 -03 2012


select cast(18 as float) / cast(100 as float) from rdb$database


> select
>     cast(190.0000000000 as numeric(15,8)) *
>     cast(190.0000000000 as numeric(15,8))
> from
>     rdb$database
>
> da o seguinte erro:	
>
> Statement failed, SQLSTATE = 22003
> Integer overflow.  The result of an integer operation caused the most
> significan
> t bit of the result to carry.
>
> Pelo que pude notar, esse erro é devido a qtd de decimais ser maior que a
> parte inteira, ou seja... o retorno esta vindo com 16 decimais...
>
> Se fizer o mesmo select, mudando apenas o decimal de uma das linhas do cast
> por exemplo para 6 ai da certo
> Mas o resultado vem com 14 decimais e não com 8
> select
>     cast(190.0000000000 as numeric(15,8)) *
>     cast(190.0000000000 as numeric(15,6))
> from
>     rdb$database
>
> retorna
>
> 36100,0000000000073
>
> Obrigado !
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


-- 
[]'s,

Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com/







Mais detalhes sobre a lista de discussão lista