[firebase-br] Qual Campo usar Numeric ou Double Precision ?

Sandro Souza escovadordebits em gmail.com
Sex Jul 15 11:17:40 -03 2016


Bom dia/tarde/noite amigos.

Fiz alguns testes com o Firebird SuperServer 2.5.1.26351 no Zorin OS 6.4 de
64 bits (baseado no Ubuntu 12.04 de 64 bits).

Tenho uma base de dados que criei no dialeto 3.

Criei uma tabela de teste, com um campo do tipo NUMERIC(18,0), ou seja, 18
dígitos inteiros.

Consegui inserir e ler perfeitamente os 18 dígitos sem erro, ou seja,
inserindo 123456789012345678 assim como 876543210987654321, consegui ler
exatamente esses valores sem erro algum, ou seja, realmente suportou os 18
dígitos inteiros sem erro algum.

Mas quando criei um campo do tipo NUMERIC(18,4), notei que ele só mantém a
precisão das 3 primeiras casas decimais, ou seja, quando inseri
12345678901234.5678, só consegui ler 12345678901234.5684, ou seja,
arredondou para 3 casas decimais e ainda ficou um dígito maluco na quarta
casa decimal.

Não sei se vocês obtiveram resultados semelhantes.

Em 7 de julho de 2016 15:56, Luciano franca <luapfirebird em yahoo.com.br>
escreveu:

> Então está explicado Carlos realmente depois de 14 digitos exemplo
>
> Fiz testes aqui
> Até esse numero vai bem   999.999.999.999.99depois disso ele vai
> arredondar para 100.000.000.000.000
> e nas casas decimais mesmo coisa o problema só ocorre depois dos 14
> digitos.
>  Agora o colega sabe me dizer se o problema é só esse com numero
> extremamente grandes ? pois eu só uso Domain Numeric(10, 6)  quer dizer que
> no total nunca vou usar mais que os 14 digitos.
>  Assim acho que não terei problemas com Double.
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista