Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TABELA_DE_VENDEDORES com DECIMAL(4,1)

Usando DECIMAL(4,1), decidi representar a coluna PERCENTUAL_COMISSAO com três números inteiros e um decimal: até 999,9 positivo ou negativo, pois o limite da porcentagem é 100,0%. Fiz de uma maneira boa?

1 resposta
solução!

A opção em si é razoável, durante o treinamento só são inseridos porcentagens inteiras, porém tudo depende da origem dos dados, se o sistema/software que está gerando esse dado valida o campo com mais casas decimais, já seria um problema.

Imagine que o campo aceite A porcentagem de comissão dessa forma: 17,93. O DECIMAL(4,1) seria um problema, o primeiro parâmetro (4) define o número máximo de dígitos que podem ser armazenados, incluindo dígitos antes e depois da vírgula decimal, enquanto o segundo parâmetro (1) define o número de dígitos após a vírgula decimal.

Nesse caso, o valor 17,93 seria arredondado para o formato (4,1) dessa forma: 17,9.

Para conversão de tipos, o MySQL utiliza o modo de arredondamento padrão (e pela maioria das linguagens de programação) "round half up", que arredonda um número para o número mais próximo, com desempate para cima em caso de empate. Ou seja,** 17,93** precisa ser arredondado para apenas 1 casa decimal, como o número 3 está mais perto do 0 do que do 10, o valor é arredondado para 9.

Outro exemplo para ficar mais claro é o valor 10.456 para o DECIMAL(4,1), o valor armazenado será 10.5 (10.456 > 10.46 > 10.50 > 10.5)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software