[firebase-br] Resultado de divisoes
Carlos H. Cantu
listas em warmboot.com.br
Seg Nov 8 13:51:10 -03 2004
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
Mais detalhes sobre a lista de discussão lista