[firebase-br] Duvida com select

Marcelo - MK Softwares marcelo em mksoftwares.com.br
Qui Out 3 14:15:22 -03 2019


Agradeço pelo retorno Roger

Já havia tentado com decimal(18,5), tentei tanto todos os campos, como 
também campo a campo e não deu certo.

Mas só pra deixar documentado, em conversa com nossa equipe aqui, 
optamos de fazer uma validação a nível de sistema, onde consiste que se 
o valor do total do ítem for superior a R$500.000.000,00 o sistema irá 
bloquear a venda do mesmo. Como é um PDV de supermercado creio que não 
terá um valor tão elevado, ainda mais que a NFC-e só permite uma nota no 
máximo de R$10.000,00.

Obrigado a todos.



Em 03/10/2019 12:03, Roger Bauer escreveu:
> Bom dia
>
> Provavelmente o erro ocorre devido as casas decimais. Tente usar o comando
> cast(campo as numérica(12,2) ou seja, faça os cálculos usando essa função
> em todos os campos porém calculando em duas casas decimais, provavelmente
> vai funcionar.
>
> 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




Mais detalhes sobre a lista de discussão lista