No MariaDB,
MOD() é uma função interna que retorna a operação do módulo. Ele retorna o restante de seu primeiro argumento dividido por seu segundo argumento. Sintaxe
A sintaxe fica assim:
MOD(N,M) A função retorna o restante de
N dividido por M . A operação também pode ser feita usando o operador módulo, então você também pode usar as seguintes sintaxes para obter o mesmo resultado:
N % M
N MOD M Exemplo
Segue um exemplo para demonstrar:
SELECT MOD(9, 2); Resultado:
+-----------+ | MOD(9, 2) | +-----------+ | 1 | +-----------+
Aqui estão mais alguns:
SELECT
MOD(8, 2),
MOD(134, 6),
MOD(9, 5),
MOD(9, 10); Resultado:
+-----------+-------------+-----------+------------+ | MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) | +-----------+-------------+-----------+------------+ | 0 | 2 | 4 | 9 | +-----------+-------------+-----------+------------+
Comparado com o Operador de Módulo
Aqui está um exemplo que compara as sintaxes entre a função e os operadores:
SELECT
MOD(9, 2),
9 % 2,
9 MOD 2; Resultado:
+-----------+-------+---------+ | MOD(9, 2) | 9 % 2 | 9 MOD 2 | +-----------+-------+---------+ | 1 | 1 | 1 | +-----------+-------+---------+
Argumentos não numéricos
Aqui está um exemplo do que acontece quando fornecemos argumentos não numéricos:
SELECT MOD('Homer', 'Symptom'); Resultado:
+-------------------------+
| MOD('Homer', 'Symptom') |
+-------------------------+
| NULL |
+-------------------------+
1 row in set, 3 warnings (0.005 sec) Vejamos o aviso:
SHOW WARNINGS; Resultado:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | | Warning | 1365 | Division by 0 | +---------+------+---------------------------------------------+
Argumentos nulos
MOD() retorna null se um dos argumentos for null :SELECT
MOD(null, 2),
MOD(9, null),
MOD(null, null); Resultado:
+--------------+--------------+-----------------+ | MOD(null, 2) | MOD(9, null) | MOD(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Argumentos ausentes
Chamando
MOD() com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT MOD(); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
E:
SELECT MOD(10, 2, 3); Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 3)' at line 1