In MariaDB ist der Modulo-Operator (%
) gibt die Modulo-Operation zurück. Es gibt den Rest seines ersten Arguments dividiert durch sein zweites Argument zurück.
Syntax
Die Syntax lautet wie folgt:
N % M
Dies gibt den Rest von N
zurück dividiert durch M
.
Die Operation kann auch mit dem MOD
durchgeführt werden Schlüsselwort und das MOD()
Funktion. Sie können also die folgenden Syntaxen verwenden, um dasselbe Ergebnis zu erzielen:
MOD(N,M)
N MOD M
Beispiel
Hier ist ein Beispiel, um den Modulo-Operator zu demonstrieren:
SELECT 9 % 2;
Ergebnis:
+-------+ | 9 % 2 | +-------+ | 1 | +-------+
Hier sind noch einige:
SELECT
8 % 2,
134 % 27,
9 % 5,
9 % 10;
Ergebnis:
+-------+----------+-------+--------+ | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 | +-------+----------+-------+--------+ | 0 | 26 | 4 | 9 | +-------+----------+-------+--------+
Verglichen mit MOD
&MOD()
Hier ist ein Beispiel, das die Syntax der Funktionen und Operatoren vergleicht:
SELECT
9 % 2,
9 MOD 2,
MOD(9, 2);
Ergebnis:
+-------+---------+-----------+ | 9 % 2 | 9 MOD 2 | MOD(9, 2) | +-------+---------+-----------+ | 1 | 1 | 1 | +-------+---------+-----------+
Nicht numerische Argumente
Hier ist ein Beispiel dafür, was passiert, wenn wir nicht-numerische Argumente angeben:
SELECT 'Bird' % 'Dog';
Ergebnis:
+----------------+ | 'Bird' % 'Dog' | +----------------+ | NULL | +----------------+ 1 row in set, 3 warnings (0.000 sec)
Sehen wir uns die Warnung an:
SHOW WARNINGS;
Ergebnis:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+
Null-Operanden
Das Ergebnis ist null
wenn einer der Operanden null
ist :
SELECT
null % 2,
134 % null,
null % null;
Ergebnis:
+----------+------------+-------------+ | null % 2 | 134 % null | null % null | +----------+------------+-------------+ | NULL | NULL | NULL | +----------+------------+-------------+