[firebase-br] Resultado de divisoes

Otto ottofuch em terra.com.br
Seg Nov 8 16:56:19 -03 2004


Testei. Funciona.
[]'s
Otto
----- Original Message ----- 
From: "Carlos H. Cantu" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, November 08, 2004 1:51 PM
Subject: Re: [firebase-br] Resultado de divisoes


> Se estiver usando dialeto 3, faça
>
> SELECT  1/3.000 AS RESULT FROM RDB$DATABASE
>
> que deve resultar em 0.333
>
> []s
> Cantu
> http://www.warmboot.com.br
> FireBase - http://www.FireBase.com.br
>
> Eb> Ok Otto... valeu.
>
> Eb> Ainda bem q utilizo dialeto 1.
>
> Eb> Edvaldo
>
> Eb> ----- Original Message -----
> Eb> From: "Otto" <ottofuch em terra.com.br>
> Eb> To: "FireBase" <lista em firebase.com.br>
> Eb> Sent: Friday, November 05, 2004 8:27 PM
> Eb> Subject: Re: [firebase-br] Resultado de divisoes
>
>
> >> Segundo o livro da Helen, depende do dialeto.
> >> No dialeto 1
> >> SELECT  1/3 AS RESULT FROM RDB$DATABASE
> >> resulta em 0.333333333333333
> >> Já no dialeto 3 resulta em 0 (zero).
> >>
> >> Isto tem algo a ver com a escala. No dialeto 1, o Firebird soma a
escala
> Eb> dos
> >> dois operandos para determinar a escala do resultado (quociente), tendo
o
> >> quociente uma precisão de 18. No dialeto 3, em conformidade com o
SQL-92.
> Eb> os
> >> inteiros (integer) tem uma escala de 0 (zero) "que, para fins de
> >> consistência requer que o resultado (quociente)  de qualquer operação
> >> inteiro/inteiro esteja em conformidade com as regras de escalas
(scaling
> >> rules) de numéricos fixos (fixed numerics) e produzam um inteiro".
> >>
> >> Assim, ambos tem razão, um para o dialeto 1, e outro, para o dialeto 3.
E
> >> serve como alerta que mudanças de dialetos podem produzir surpresas.
> >>
> >> 100+
> >> Otto
> >>
> >>
> >> ----- Original Message -----
> >> From: "Edvaldo (bol)" <evgomes em bol.com.br>
> >> To: "FireBase" <lista em firebase.com.br>
> >> Sent: Friday, November 05, 2004 12:51 PM
> >> Subject: Re: [firebase-br] Resultado de divisoes
> >>
> >>
> >> Não tem nada a ver isto que vocês estão falando "divisão de integer por
> >> integer dá integer", depende da variável que vai receber o resultado.
> Eb> Neste
> >> caso está sendo feito no SELECT, então o resultado de 6/5 é 1,2, igual
a
> >> qualquer outra calculadora normal.
> >>
> >> Edvaldo
> >>
> >> ----- Original Message -----
> >> From: "eduardo" <eduardo em icontroller.com.br>
> >> To: "FireBase" <lista em firebase.com.br>
> >> Sent: Thursday, November 04, 2004 3:39 PM
> >> Subject: Re: [firebase-br] Resultado de divisoes
> >>
> >>
> >> > Oi Camillo
> >> >
> >> > Isto é porque o resultado da operação entre integers é integer.
> >> > Neste caso, não adianta dar um CAST no resultado porque ele já não
> >> > contém decimais (é integer)
> >> > Para forçar um resultado Float vc deve forçar que um dos dois,
dividendo
> >> > ou divisor seja float, como:
> >> > 6.0/5
> >> > ou CAST( 6 AS NUMERIC(10,4) )/5
> >> >
> >> > Boa Sorte ,
> >> > Eduardo
> >> >
> >> > LISTA wrote:
> >> >
> >> > >Porque quando executo o seguinte comando o resultado é 1, ou seja,
so a
> >> parte inteira da divisão ? Como faço para obter o resultado exato da
> Eb> divisão
> >> dentro de um SP?
> >> > >
> >> > >SELECT cast(6/5 as real)  FROM RDB$DATABASE
> >> > >
> >> > >Percebi isso quando fiz uma SP e o resultado estava sempre errado,
> >> fazendo o debug verifiquei que o erro era decorrente da situação acima.
> >> > >
> >> > >Desdee ja agradeço a todos
> >> > >
> >> > >Camillo
> >> > >______________________________________________
> >> > >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >> > >Para editar sua configuração na lista, use o endereço
> >> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >> > >
> >> > >
> >> > >
> >> > >
> >> >
> >> >
> >> > ______________________________________________
> >> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >> > Para editar sua configuração na lista, use o endereço
> >> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >> >
> >>
> >>
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >> Para editar sua configuração na lista, use o endereço
> >> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >>
> >>
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> >> Para editar sua configuração na lista, use o endereço
> Eb> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
> Eb> ______________________________________________
> Eb> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Eb> Para editar sua configuração na lista, use o endereço
> Eb> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>





Mais detalhes sobre a lista de discussão lista