Ir para conteúdo
Fórum Script Brasil
  • 0

Divisão, Resto - Sql


Progr'amador

Pergunta

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? dry.gif

Uffa!!! biggrin.gif

é so isso.

Abs. Progr'amador.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

use o MOD()

http://dev.mysql.com/doc/mysql/pt/Mathemat..._functions.html

MOD(N,M) %

Modulo (como o operador % em C). Retorna o resto de N dividido por M: mysql> SELECT MOD(234, 10);

        -> 4

mysql> SELECT 253 % 7;

        -> 1

mysql> SELECT MOD(29,9);

        -> 2

mysql> SELECT 29 MOD 9;

        -> 2

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...