I MariaDB, MOD() er en indbygget funktion, der returnerer modulo-operationen. Det returnerer resten af dets første argument divideret med dets andet argument.
Syntaks
Syntaksen ser sådan ud:
MOD(N,M)
Funktionen returnerer resten af N divideret med M .
Operationen kan også udføres ved hjælp af modulo-operatoren, så du kan også bruge følgende syntakser for at opnå det samme resultat:
N % M
N MOD M Eksempel
Her er et eksempel til demonstration:
SELECT MOD(9, 2); Resultat:
+-----------+ | MOD(9, 2) | +-----------+ | 1 | +-----------+
Her er nogle flere:
SELECT
MOD(8, 2),
MOD(134, 6),
MOD(9, 5),
MOD(9, 10); Resultat:
+-----------+-------------+-----------+------------+ | MOD(8, 2) | MOD(134, 6) | MOD(9, 5) | MOD(9, 10) | +-----------+-------------+-----------+------------+ | 0 | 2 | 4 | 9 | +-----------+-------------+-----------+------------+
Sammenlignet med Modulo Operator
Her er et eksempel, der sammenligner syntakserne på tværs af funktionen og operatorerne:
SELECT
MOD(9, 2),
9 % 2,
9 MOD 2; Resultat:
+-----------+-------+---------+ | MOD(9, 2) | 9 % 2 | 9 MOD 2 | +-----------+-------+---------+ | 1 | 1 | 1 | +-----------+-------+---------+
Ikke-numeriske argumenter
Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:
SELECT MOD('Homer', 'Symptom'); Resultat:
+-------------------------+
| MOD('Homer', 'Symptom') |
+-------------------------+
| NULL |
+-------------------------+
1 row in set, 3 warnings (0.005 sec) Lad os se advarslen:
SHOW WARNINGS; Resultat:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Homer' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Symptom' | | Warning | 1365 | Division by 0 | +---------+------+---------------------------------------------+
Nul-argumenter
MOD() returnerer null hvis et af argumenterne er null :
SELECT
MOD(null, 2),
MOD(9, null),
MOD(null, null); Resultat:
+--------------+--------------+-----------------+ | MOD(null, 2) | MOD(9, null) | MOD(null, null) | +--------------+--------------+-----------------+ | NULL | NULL | NULL | +--------------+--------------+-----------------+
Manglende argumenter
Kalder MOD() med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT MOD(); Resultat:
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
Og:
SELECT MOD(10, 2, 3); Resultat:
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