In MariaDB, MOD() ist eine eingebaute Funktion, die die Modulo-Operation zurückgibt. Es gibt den Rest seines ersten Arguments dividiert durch sein zweites Argument zurück.
Syntax
Die Syntax lautet wie folgt:
MOD(N,M)
Die Funktion gibt den Rest von N zurück dividiert durch M .
Die Operation kann auch mit dem Modulo-Operator durchgeführt werden, sodass Sie auch die folgenden Syntaxen verwenden können, um das gleiche Ergebnis zu erzielen:
N % M
N MOD M Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT MOD(9, 2); Ergebnis:
+-----------+ | MOD(9, 2) | +-----------+ | 1 | +-----------+
Hier sind noch einige:
SELECT
MOD(8, 2),
MOD(134, 6),
MOD(9, 5),
MOD(9, 10); Ergebnis:
+-----------+-------------+-----------+------------+ | MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) | +-----------+-------------+-----------+------------+ | 0 | 2 | 4 | 9 | +-----------+-------------+-----------+------------+
Im Vergleich zum Modulo-Operator
Hier ist ein Beispiel, das die Syntax der Funktionen und Operatoren vergleicht:
SELECT
MOD(9, 2),
9 % 2,
9 MOD 2; Ergebnis:
+-----------+-------+---------+ | MOD(9, 2) | 9 % 2 | 9 MOD 2 | +-----------+-------+---------+ | 1 | 1 | 1 | +-----------+-------+---------+
Nicht numerische Argumente
Hier ist ein Beispiel dafür, was passiert, wenn wir nicht-numerische Argumente angeben:
SELECT MOD('Homer', 'Symptom'); Ergebnis:
+-------------------------+
| MOD('Homer', 'Symptom') |
+-------------------------+
| NULL |
+-------------------------+
1 row in set, 3 warnings (0.005 sec) Sehen wir uns die Warnung an:
SHOW WARNINGS; Ergebnis:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | | Warning | 1365 | Division by 0 | +---------+------+---------------------------------------------+
Null-Argumente
MOD() gibt null zurück wenn eines der Argumente null ist :
SELECT
MOD(null, 2),
MOD(9, null),
MOD(null, null); Ergebnis:
+--------------+--------------+-----------------+ | MOD(null, 2) | MOD(9, null) | MOD(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Fehlende Argumente
Aufruf von MOD() mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT MOD(); Ergebnis:
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
Und:
SELECT MOD(10, 2, 3); Ergebnis:
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