[firebase-br] Duvida com select

José Mauricio barbisan Zottis zottissistemas em gmail.com
Qui Out 3 10:04:46 -03 2019


Eu tive problemas parecidos no oracle por retornar numeros com decimais que
"estouravam o domínio, resolvi colocando um ROUND para o resultado
tenta aí

Espero ter ajudado.


Em qui, 3 de out de 2019 às 09:58, Gabriel Bonzanini <
gabriel.bonzanini em gmail.com> escreveu:

> Hmmmmm já tentou fazer um COALESCE nos campos?
>
> Em qui, 3 de out de 2019 09:56, Marcelo - MK Softwares <
> marcelo em mksoftwares.com.br> escreveu:
>
> > Alterei o calculo para:
> > cast((v.quant * v.precovenda ) - v.desconto + v.acrescimo as
> decimal(18,5))
> >
> > mas o erro persiste. Também tentei fazer um cast em cada campo, mas sem
> > resultado
> >
> > Em 03/10/2019 09:48, Gabriel Bonzanini escreveu:
> > > Sugiro que seja feito um CAST na operação como um todo, para evitar que
> > > sejam gerados decimais insignificantes (procure por epsilon).
> > >
> > > Em qui, 3 de out de 2019 09:36, Marcelo - MK Softwares <
> > > marcelo em mksoftwares.com.br> escreveu:
> > >
> > >> Bom dia
> > >>
> > >> Estou criando uma sql que me retorna o total do produto, até ai tudo
> > >> bem. Mas esta dando um erro na multiplicação. Vou expor a situação:
> > >>
> > >> Sql:
> > >> select
> > >>       /* outros campos que não vem ao caso*/
> > >>       ((v.quant * v.precovenda ) - v.desconto + v.acrescimo)
> > totalproduto
> > >> from vendapdv2 v;
> > >>
> > >> Erro retornado:
> > >> Unsuccessful execution caused by system error that does not preclude
> > >> successful execution of subsequent statements.
> > >> Integer overflow.  The result of an integer operation caused the most
> > >> significant bit of the result to carry.
> > >>
> > >> Valores dos campos:
> > >> v.quant decimal(18,5)= 123323333,000
> > >> v.precovenda decimal(18,5) = 7,99
> > >> v.desconto decimal(18,5) = 0
> > >> v.acrescimo decimal(18,5) = 0
> > >>
> > >> Concordo que ninguém irá vender essa quantidade de mercadoria em um
> PDV
> > >> de supermercado, mas é um teste de estresse, pra não ocorrer falhas.
> Mas
> > >> a dúvida, por que me retorna um erro de integer overflow sendo que os
> > >> campos são decimal?
> > >> Se retirar a multiplicação da consulta, os valores são retornados sem
> > >> erro algum!
> > >>
> > >> ______________________________________________
> > >> 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://www.firebase.com.br/pesquisa_lista.html
> > >>
> > > ______________________________________________
> > > 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://www.firebase.com.br/pesquisa_lista.html
> >
> > ______________________________________________
> > 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://www.firebase.com.br/pesquisa_lista.html
> >
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>


--



Mais detalhes sobre a lista de discussão lista