[firebase-br] RES: Valor constante com 30 casas decimais

Ivan Guimarães Meirelles igmeirelles em gmail.com
Ter Jul 13 10:59:22 -03 2010


Olá Hélio...

Os tipos Numeric e Decimal, devem ser declarados seguindo algumas normas:

NUMERIC( <tamanho>, <precisão> )

Onde:
<tamanho> e <precisão> não podem ultrapassar o valor 18;
<precisão> deverá ser menor ou igual a <tamanho>.

Portanto NUMERIC(2,30) não irá funcionar por não atender os critérios
estabelecidos pelo Firebird.
Um valor com mais de 18 casas decimais não poderá ser armazenado pelo
firebird... nem mesmo FLOAT ou DOUBLE_PRECISION.


Você pode armazenar esse valor como VARCHAR e fazer a conversão para FLOAT
ou DOUBLE_PRECISION sempre que precisar dele.

cast('30.416666666666666666666666666667' as float)


Espero ter ajudado.
Um forte abraço.


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Hélio Oliveira
Enviada em: domingo, 11 de julho de 2010 17:42
Para: lista em firebase.com.br
Assunto: [firebase-br] Valor constante com 30 casas decimais

Boa tarde Colegas!

Estou desenvolvendo uma SP onde necessito manter armazenado em uma 
variavel o seguinte valor: 30.416666666666666666666666666667, este 
número tem exatamente 30 casas decimais. Já tentei declarar a variavel 
com diversos tipos de dados e com nenhum conseguir compilar a SP sempre 
dado erro apontando para o valor. (Float, BigInt, Numeric(2,30), Double 
Precision) e nada...  Firebird 2.1 e 2.5

Alguém pode perguntar de onde veio este valor? resposta (365/12).

abaixo as diversas formas que já tentei

declare variable valor_constante bigint = 30.416666666666666666666666666667;
declare variable valor_constante bigint;
declare variable valor_constante double precision;
declare variable valor_constante numeric(2,30);
declare variable valor_constante float;

valor_constante = 30.416666666666666666666666666667;

A mensagem de erro não ajuda muito, mais ex a dita:
"Token unknown - line 29, column 14. 3."

-- 
[]'s,

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


______________________________________________
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





Mais detalhes sobre a lista de discussão lista