I MariaDB, modulo-operatorn (%
) returnerar modulo-operationen. Den returnerar resten av dess första argument dividerat med dess andra argument.
Syntax
Syntaxen ser ut så här:
N % M
Detta returnerar resten av N
dividerat med M
.
Operationen kan också göras med MOD
nyckelordet och MOD()
fungera. Så du kan använda följande syntaxer för att uppnå samma resultat:
MOD(N,M)
N MOD M
Exempel
Här är ett exempel för att demonstrera modulo-operatorn:
SELECT 9 % 2;
Resultat:
+-------+ | 9 % 2 | +-------+ | 1 | +-------+
Här är några fler:
SELECT
8 % 2,
134 % 27,
9 % 5,
9 % 10;
Resultat:
+-------+----------+-------+--------+ | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 | +-------+----------+-------+--------+ | 0 | 26 | 4 | 9 | +-------+----------+-------+--------+
Jämfört med MOD
&MOD()
Här är ett exempel som jämför syntaxerna för funktionen och operatorerna:
SELECT
9 % 2,
9 MOD 2,
MOD(9, 2);
Resultat:
+-------+---------+-----------+ | 9 % 2 | 9 MOD 2 | MOD(9, 2) | +-------+---------+-----------+ | 1 | 1 | 1 | +-------+---------+-----------+
Icke-numeriska argument
Här är ett exempel på vad som händer när vi tillhandahåller icke-numeriska argument:
SELECT 'Bird' % 'Dog';
Resultat:
+----------------+ | 'Bird' % 'Dog' | +----------------+ | NULL | +----------------+ 1 row in set, 3 warnings (0.000 sec)
Låt oss se varningen:
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 | +---------+------+------------------------------------------+
Nulloperander
Resultatet är null
om endera operanden är null
:
SELECT
null % 2,
134 % null,
null % null;
Resultat:
+----------+------------+-------------+ | null % 2 | 134 % null | null % null | +----------+------------+-------------+ | NULL | NULL | NULL | +----------+------------+-------------+