In MariaDB, MOD()
is een ingebouwde functie die de modulo-bewerking retourneert. Het retourneert de rest van zijn eerste argument gedeeld door zijn tweede argument.
Syntaxis
De syntaxis gaat als volgt:
MOD(N,M)
De functie retourneert de rest van N
gedeeld door M
.
De bewerking kan ook worden uitgevoerd met behulp van de modulo-operator, dus u kunt ook de volgende syntaxis gebruiken om hetzelfde resultaat te bereiken:
N % M
N MOD M
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT MOD(9, 2);
Resultaat:
+-----------+ | MOD(9, 2) | +-----------+ | 1 | +-----------+
Hier zijn er nog meer:
SELECT
MOD(8, 2),
MOD(134, 6),
MOD(9, 5),
MOD(9, 10);
Resultaat:
+-----------+-------------+-----------+------------+ | MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) | +-----------+-------------+-----------+------------+ | 0 | 2 | 4 | 9 | +-----------+-------------+-----------+------------+
Vergeleken met de Modulo-operator
Hier is een voorbeeld dat de syntaxis van de functie en operators vergelijkt:
SELECT
MOD(9, 2),
9 % 2,
9 MOD 2;
Resultaat:
+-----------+-------+---------+ | MOD(9, 2) | 9 % 2 | 9 MOD 2 | +-----------+-------+---------+ | 1 | 1 | 1 | +-----------+-------+---------+
Niet-numerieke argumenten
Hier is een voorbeeld van wat er gebeurt als we niet-numerieke argumenten geven:
SELECT MOD('Homer', 'Symptom');
Resultaat:
+-------------------------+ | MOD('Homer', 'Symptom') | +-------------------------+ | NULL | +-------------------------+ 1 row in set, 3 warnings (0.005 sec)
Laten we eens kijken naar de waarschuwing:
SHOW WARNINGS;
Resultaat:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | | Warning | 1365 | Division by 0 | +---------+------+---------------------------------------------+
Nullargumenten
MOD()
retourneert null
als een van beide argumenten null
is :
SELECT
MOD(null, 2),
MOD(9, null),
MOD(null, null);
Resultaat:
+--------------+--------------+-----------------+ | MOD(null, 2) | MOD(9, null) | MOD(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Ontbrekende argumenten
MOD()
. aanroepen met het verkeerde aantal argumenten, of zonder argumenten resulteert in een fout:
SELECT MOD();
Resultaat:
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
En:
SELECT MOD(10, 2, 3);
Resultaat:
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