In MariaDB, de modulo-operator (%
) geeft de modulo-bewerking terug. Het retourneert de rest van zijn eerste argument gedeeld door zijn tweede argument.
Syntaxis
De syntaxis gaat als volgt:
N % M
Dit retourneert de rest van N
gedeeld door M
.
De bewerking kan ook worden uitgevoerd met de MOD
trefwoord en de MOD()
functie. U kunt dus de volgende syntaxis gebruiken om hetzelfde resultaat te bereiken:
MOD(N,M)
N MOD M
Voorbeeld
Hier is een voorbeeld om de modulo-operator te demonstreren:
SELECT 9 % 2;
Resultaat:
+-------+ | 9 % 2 | +-------+ | 1 | +-------+
Hier zijn er nog meer:
SELECT
8 % 2,
134 % 27,
9 % 5,
9 % 10;
Resultaat:
+-------+----------+-------+--------+ | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 | +-------+----------+-------+--------+ | 0 | 26 | 4 | 9 | +-------+----------+-------+--------+
Vergeleken met MOD
&MOD()
Hier is een voorbeeld dat de syntaxis van de functie en operators vergelijkt:
SELECT
9 % 2,
9 MOD 2,
MOD(9, 2);
Resultaat:
+-------+---------+-----------+ | 9 % 2 | 9 MOD 2 | MOD(9, 2) | +-------+---------+-----------+ | 1 | 1 | 1 | +-------+---------+-----------+
Niet-numerieke argumenten
Hier is een voorbeeld van wat er gebeurt als we niet-numerieke argumenten geven:
SELECT 'Bird' % 'Dog';
Resultaat:
+----------------+ | 'Bird' % 'Dog' | +----------------+ | NULL | +----------------+ 1 row in set, 3 warnings (0.000 sec)
Laten we eens kijken naar de waarschuwing:
SHOW WARNINGS;
Resultaat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+
Null-operanden
Het resultaat is null
als een van de operanden null
is :
SELECT
null % 2,
134 % null,
null % null;
Resultaat:
+----------+------------+-------------+ | null % 2 | 134 % null | null % null | +----------+------------+-------------+ | NULL | NULL | NULL | +----------+------------+-------------+