In MariaDB, l'operatore modulo (%
) restituisce l'operazione modulo. Restituisce il resto del suo primo argomento diviso per il suo secondo argomento.
Sintassi
La sintassi è questa:
N % M
Questo restituisce il resto di N
diviso per M
.
L'operazione può essere eseguita anche utilizzando il MOD
parola chiave e il MOD()
funzione. Quindi puoi utilizzare le seguenti sintassi per ottenere lo stesso risultato:
MOD(N,M)
N MOD M
Esempio
Ecco un esempio per dimostrare l'operatore modulo:
SELECT 9 % 2;
Risultato:
+-------+ | 9 % 2 | +-------+ | 1 | +-------+
Eccone altri:
SELECT
8 % 2,
134 % 27,
9 % 5,
9 % 10;
Risultato:
+-------+----------+-------+--------+ | 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 | +-------+----------+-------+--------+ | 0 | 26 | 4 | 9 | +-------+----------+-------+--------+
Rispetto a MOD
&MOD()
Ecco un esempio che confronta le sintassi tra la funzione e gli operatori:
SELECT
9 % 2,
9 MOD 2,
MOD(9, 2);
Risultato:
+-------+---------+-----------+ | 9 % 2 | 9 MOD 2 | MOD(9, 2) | +-------+---------+-----------+ | 1 | 1 | 1 | +-------+---------+-----------+
Argomenti non numerici
Ecco un esempio di cosa succede quando forniamo argomenti non numerici:
SELECT 'Bird' % 'Dog';
Risultato:
+----------------+ | 'Bird' % 'Dog' | +----------------+ | NULL | +----------------+ 1 row in set, 3 warnings (0.000 sec)
Vediamo l'avviso:
SHOW WARNINGS;
Risultato:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' | | Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+
Operandi nulli
Il risultato è null
se uno dei due operandi è null
:
SELECT
null % 2,
134 % null,
null % null;
Risultato:
+----------+------------+-------------+ | null % 2 | 134 % null | null % null | +----------+------------+-------------+ | NULL | NULL | NULL | +----------+------------+-------------+