MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Fonctionnement de l'opérateur modulo dans MariaDB

Dans MariaDB, l'opérateur modulo (% ) renvoie l'opération modulo. Il renvoie le reste de son premier argument divisé par son deuxième argument.

Syntaxe

La syntaxe ressemble à ceci :

N % M

Cela renvoie le reste de N divisé par M .

L'opération peut également être effectuée à l'aide du MOD mot-clé et le MOD() une fonction. Vous pouvez donc utiliser les syntaxes suivantes pour obtenir le même résultat :

MOD(N,M)
N MOD M

Exemple

Voici un exemple pour illustrer l'opérateur modulo :

SELECT 9 % 2;

Résultat :

+-------+
| 9 % 2 |
+-------+
|     1 |
+-------+

En voici d'autres :

SELECT 
    8 % 2,
    134 % 27,
    9 % 5,
    9 % 10;

Résultat :

+-------+----------+-------+--------+
| 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 |
+-------+----------+-------+--------+
|     0 |       26 |     4 |      9 |
+-------+----------+-------+--------+

Par rapport à MOD &MOD()

Voici un exemple qui compare les syntaxes de la fonction et des opérateurs :

SELECT 
    9 % 2,
    9 MOD 2,
    MOD(9, 2);

Résultat :

+-------+---------+-----------+
| 9 % 2 | 9 MOD 2 | MOD(9, 2) |
+-------+---------+-----------+
|     1 |       1 |         1 |
+-------+---------+-----------+

Arguments non numériques

Voici un exemple de ce qui se passe lorsque nous fournissons des arguments non numériques :

SELECT 'Bird' % 'Dog';

Résultat :

+----------------+
| 'Bird' % 'Dog' |
+----------------+
|           NULL |
+----------------+
1 row in set, 3 warnings (0.000 sec)

Voyons l'avertissement :

SHOW WARNINGS;

Résultat :

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog'  |
| Warning | 1365 | Division by 0                            |
+---------+------+------------------------------------------+

Opérandes nuls

Le résultat est null si l'un des opérandes est null :

SELECT 
    null % 2,
    134 % null,
    null % null;

Résultat :

+----------+------------+-------------+
| null % 2 | 134 % null | null % null |
+----------+------------+-------------+
|     NULL |       NULL |        NULL |
+----------+------------+-------------+