Só que não funciona em todos os casos, funcionou nesse caso porque o resultado sem o ROUND daria 3,333333333 com isso o ROUND Arrendou pra 3(Arred. pra baixo), e usando o valor 4 em ves do 3, iria ficar 2,5 com isso iria arredondar pra 3(Arred. pra cima) ao inveis de 2.
Existe alguma comando em SQL, pra arredondar pra baixo? (igual no excel - =ARREDONDAR.PARA.BAIXO(2,5;0) : resultado seria 2 )?
Como poderia fazer isso?
Teria uma forma mais simples de fazer esses cálculos de divisão no Sql, pra encontrar o resultado e o resto?
Pergunta
Progr'amador
O caso é o seguinte:
Como eu faço pra obter o resultado de uma divisão e o resultado do resto numa select, tipo assim:
10 / 3 = 3 e resta 1;
10 / 4 = 2 e resta 2.
Pensei em fazer assim:
SELECT ROUND(VALOR1 / VALOR2,0) VL_DIVISAO,
VALOR1 - (ROUND(VALOR1 / VALOR2,0) * VALOR2) VL_RESTO
FROM TABELA
seguindo a logica usando VALOR1 = 10, VALOR2 = 3
VL_DIVISAO: 10 / 3 = 3 (Arredondado)
VL_RESTO: 10 - (VL_DIVISAO * 3) = 1 (Arred.)
ou seja:
VL_DIVIÃO = 3 e VL_RESTO = 1 (ESTARIA CORRETO)
Só que não funciona em todos os casos, funcionou nesse caso porque o resultado sem o ROUND daria 3,333333333 com isso o ROUND Arrendou pra 3(Arred. pra baixo), e usando o valor 4 em ves do 3, iria ficar 2,5 com isso iria arredondar pra 3(Arred. pra cima) ao inveis de 2.
Existe alguma comando em SQL, pra arredondar pra baixo? (igual no excel - =ARREDONDAR.PARA.BAIXO(2,5;0) : resultado seria 2 )?
Como poderia fazer isso?
Teria uma forma mais simples de fazer esses cálculos de divisão no Sql, pra encontrar o resultado e o resto?
Uffa!!!
é so isso.
Abs. Progr'amador.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados