Resumo : neste tutorial você aprenderá como usar a MOD()
função MySQL para retornar o resto ao dividir um número por outro.
Introdução à função MySQL MOD()
A MOD()
função retorna o resto de um número dividido por outro número.
Aqui está a sintaxe básica da MOD()
função:
MOD(dividend,divisor)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A MOD()
função aceita dois argumentos:
dividend
é um número literal ou uma expressão numérica que você deseja dividir.divisor
é um número literal ou uma expressão numérica pela qual você deseja dividir o dividendo.
A MOD()
função retorna o restante do dividendo dividido pelo divisor.
Se o dividendo ou divisor for NULL, a função MOD() retornará NULL. Além disso, se divisor
for zero, o MOD(dividend, 0)
retorno é NULL
.
Para tornar a consulta mais concisa, você pode usar o operador módulo ( %
) em vez da MOD()
função, pois são sinônimos:
dividend % divisor
Exemplos de funções MySQL MOD()
Vejamos alguns exemplos de uso da MOD()
função.
1) ()
Exemplos simples de funções MOD
A instrução a seguir usa a MOD()
função para obter o resto da divisão de 11 e 3. Ela retorna 2 como a parte inteira do resultado:
SELECT MOD(11, 3);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
O exemplo a seguir mostra a consulta equivalente, mas usa o operador %:
SELECT 11 % 3
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
A MOD()
função também funciona com valores com parte fracionária e retorna o resto após a divisão. Por exemplo:
SELECT MOD(10.5, 3);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A imagem a seguir ilustra a saída:
2) Usando a função MOD() com dados em um exemplo de tabela
Usaremos o orderDetails
banco de dados de amostra para a demonstração:
A instrução a seguir usa a função MOD() para determinar se a quantidade de produtos encomendados pelo cliente é ímpar ou par:
SELECT
orderNumber,
SUM(quantityOrdered) Qty,
IF(MOD(SUM(quantityOrdered),2),
'Odd',
'Even') oddOrEven
FROM
orderdetails
GROUP BY
orderNumber
ORDER BY
orderNumber;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo:
- Primeiro, utilize a
SUM()
função para obter a quantidade total de produtos por pedido de venda. - Segundo, use a
MOD()
função para obter o restante da quantidade total dividida por dois. Isso resulta em zero ou um, dependendo de onde a quantidade total é par ou ímpar. - Terceiro, use a
IF()
função para exibir a stringOdd
eEven
com base no resultado daMOD()
função.
Saída:
Resumo
- Use a
MOD()
função MySQL para obter o resto ao dividir um número por outro. - MySQL usa o operador % como sinônimo para a
MOD()
função.