CALCULAR PORCENTAGEM EM SQL

 Tópico anterior Próximo tópico Novo tópico

CALCULAR PORCENTAGEM EM SQL

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#483529 - 31/07/2018 23:13:25

KELLY
BRASILIA
Cadast. em:Setembro/2009


Olá turma, tudo bem?

Eu estou com um grande problema. Quero calcular taxa de porcentagem em uma QUERY onde eu tenho que descontar 11% do valor dos produtos. Por exemplo:

Preço: R$74,00
Taxa: 11%
Valor: R$8,14

EX.1: SELECT CONVERT(DECIMAL(6,2),(74*11)/100) AS VALOR

O resultado está sempre dando errado. Com o exemplo acima, o resultado é 8,00.

Já no exemplo abaixo, o resultado sai correto:

Preço: R$74,00
Taxa: 4.99%
Valor: R$3,69

EX.2: SELECT CONVERT(DECIMAL(6,2),(74*4.99)/100) AS VALOR

Onde está o erro no primeiro exemplo?





#483536 - 01/08/2018 08:37:45

CARINHENA
SOROCABA
Cadast. em:Junho/2004


É só ajustar a fórmula.

Primeiro, porque esse convert?
Não é boa prática fazer isso diretamente:

select convert(Decimal(6,2),(74.00*11)/100) as valor

o modo correto seria:
SELECT [NOME DO CAMPO DA TABELA] * 11/100  FROM [nome tabela]

Boa sorte!


Carinhena

A melhor forma de aprender e ensinando!


Resposta escolhida #483539 - 01/08/2018 08:50:48

FFCOUTO
COM LEVY GASPARIAN
Cadast. em:Março/2005


KELLY,
Esse erro é devido a forma como o SQL faz a leitura dos números. Observe que 74, 11 e 100 são valores inteiros, então o resultado será um inteiro.

Tente assim:
SELECT CONVERT(DECIMAL(6,2),(74*11.0)/100) AS VALOR


Acrescente o ponto para decimal e um zero em pelo menos um dos valores e aí a interpretação será de ponto flutuante.

Cursos de Excel e VB6:
www.cursoexcelvba.com.br


#483582 - 01/08/2018 20:33:43

KELLY
BRASILIA
Cadast. em:Setembro/2009


Carinhena, obrigada pela sugestão. Eu usei o CONVERT para reduzir o número de casas decimais nos centavos. Se eu não usar, o resultado ficaria assim: 8.140000
Qual seria a sua solução para este problema? Usar um ROUND() resolveria? E vou abrir um novo tópico para você ajudar neste tipo de QUERY usando boas práticas.
FFCOUTO, funcionou perfeito o seu exemplo. Eu vou usando da forma como explicou e quero abrir outro tópico para obter ajuda de vocês de como aplicar a forma correta de trabalhar com cálculos em QUERY.

Obrigada a todos pela ajuda!





 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por KELLY em 01/08/2018 20:33:57