Cálculo de expressão

Firebird

04/02/2004

Olá! Estou tentando ´enganar´ o IB 6 para fazer um cálculo para mim.
Estou colocando uma SQL do tipo: Select 1/2 from Tabela. No BDE ele retorna 0.5 corretamente, mas o IB 6 retorna somente a parte inteira. Por que isso ocorre? O Firebird também tem o mesmo problema?


Delphi32

Delphi32

Curtidas 0

Respostas

Afarias

Afarias

04/02/2004

|Estou colocando uma SQL do tipo: Select 1/2 from Tabela. No BDE ele
|retorna 0.5 corretamente, mas o IB 6 retorna somente a parte inteira.
|Por que isso ocorre?

Isto ocorre pq ambos os números (numerador e denominador) são inteiros -- então o IB entende q vc deseja fazer uma operação de divisão inteira! Sendo assim, nada mais correto q o resultado ser 0

Mostre para o IB que vc deseja uma operação de divisão de ponto-flutuante, fazendo::

select 1.0/2.0 from tabela

ou ainda

select 1.0/2 from tabela ou select 1/2.0 from tabela


quanto a funcionar com BDE não conta!! O BDE é q te engana!!! hahahaha... na verdade no BDE é q *não* funciona (pelo menos não como deveria) ;)



T+


GOSTEI 0
POSTAR