[firebase-br] Procedure com decimal (18,18)

Hélio Oliveira hpensador em gmail.com
Seg Ago 2 10:45:23 -03 2010


Magnun, vc pode até criar um campo com esta precisão, porém salvo 
engano o Firebird só comporta no máximo 16 casas decimais. Fiz um 
pequeno testes aqui e observei que na verdade tendo uma variavel do 
tipo decimal(18,18) ao executar o calculo o Fire retorna o erro de 
"string trun...."

create or alter procedure grande_precissao
returns
  valor decimal(18,16)
as
begin
  valor = cast((365/12) as decimal(18,16));
  suspend;
end

Já este mesmo código se você alterar a variavel valor para 
decimal(18,18) e também alterar o cast para este tamanho irá ver que o 
dará erro turante a execução da SP.

-- 
Hélio Oliveira
Analista de Sistemas
Delphi Developer
http://hpensador.blogspot.com
(71) 9975-9176







Mais detalhes sobre a lista de discussão lista