I MariaDB er modulo-operatoren (% ) returnerer modulo-operationen. Det returnerer resten af dets første argument divideret med dets andet argument.
Syntaks
Syntaksen ser sådan ud:
N % M
Dette returnerer resten af N divideret med M .
Handlingen kan også udføres ved hjælp af MOD nøgleordet og MOD() fungere. Så du kan bruge følgende syntakser til at opnå det samme resultat:
MOD(N,M)
N MOD M Eksempel
Her er et eksempel for at demonstrere modulo-operatoren:
SELECT 9 % 2; Resultat:
+-------+ | 9 % 2 | +-------+ | 1 | +-------+
Her er nogle flere:
SELECT
8 % 2,
134 % 27,
9 % 5,
9 % 10; Resultat:
+-------+----------+-------+--------+ | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 | +-------+----------+-------+--------+ | 0 | 26 | 4 | 9 | +-------+----------+-------+--------+
Sammenlignet med MOD &MOD()
Her er et eksempel, der sammenligner syntakserne på tværs af funktionen og operatorerne:
SELECT
9 % 2,
9 MOD 2,
MOD(9, 2); Resultat:
+-------+---------+-----------+ | 9 % 2 | 9 MOD 2 | MOD(9, 2) | +-------+---------+-----------+ | 1 | 1 | 1 | +-------+---------+-----------+
Ikke-numeriske argumenter
Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:
SELECT 'Bird' % 'Dog'; Resultat:
+----------------+ | 'Bird' % 'Dog' | +----------------+ | NULL | +----------------+ 1 row in set, 3 warnings (0.000 sec)
Lad os se advarslen:
SHOW WARNINGS; Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+
Nul-operander
Resultatet er null hvis en af operanderne er null :
SELECT
null % 2,
134 % null,
null % null; Resultat:
+----------+------------+-------------+ | null % 2 | 134 % null | null % null | +----------+------------+-------------+ | NULL | NULL | NULL | +----------+------------+-------------+