Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Renvoie le reste de deux nombres, autrement dit une opération modulo. Pour calculer le résultat, le premier paramètre est divisé par le second.
Syntaxe
MOD(number1, number2)
Arguments
- number1
-
Le premier paramètre d’entrée est un nombre
INTEGER
,SMALLINT
,BIGINT
ouDECIMAL
. Si un paramètre est de typeDECIMAL
, l’autre paramètre doit également être de typeDECIMAL
. Si un paramètre est de typeINTEGER
, l’autre paramètre peut être de typeINTEGER
,SMALLINT
ouBIGINT
. Les deux paramètres peuvent également être de typeSMALLINT
ouBIGINT
, mais un paramètre ne peut pas être de typeSMALLINT
si l’autre est de typeBIGINT
. - number2
-
Le deuxième paramètre est un nombre
INTEGER
,SMALLINT
,BIGINT
ouDECIMAL
. Les mêmes règles de type de données s’appliquent à number2 en ce qui concerne number1.
Type de retour
Le type de retour de la fonction MOD est le même type numérique que les paramètres d’entrée, si les deux paramètres d’entrée sont de même type. Toutefois, si un paramètre d’entrée est de type INTEGER
, le type renvoyé est également INTEGER
. Les types renvoyés valides sont DECIMAL
, INT
, SMALLINT
et BIGINT
.
Notes d’utilisation
Vous pouvez utiliser %
comme opérateur modulo.
Exemples
Pour renvoyer le reste de la division d’un nombre par un autre, utilisez l’exemple suivant.
SELECT MOD(10, 4);
+-----+
| mod |
+-----+
| 2 |
+-----+
Pour renvoyer un résultat DECIMAL
lorsque vous utilisez la fonction MOD, utilisez l’exemple suivant.
SELECT MOD(10.5, 4);
+-----+
| mod |
+-----+
| 2.5 |
+-----+
Pour convertir un nombre avant d’exécuter la fonction MOD, utilisez l’exemple suivant. Pour de plus amples informations, veuillez consulter Fonction CAST.
SELECT MOD(CAST(16.4 AS INTEGER), 5);
+-----+
| mod |
+-----+
| 1 |
+-----+
Pour vérifier si le premier paramètre est pair en le divisant par 2, utilisez l’exemple suivant.
SELECT mod(5,2) = 0 AS is_even;
+---------+
| is_even |
+---------+
| false |
+---------+
Pour utiliser % comme opérateur modulo, utilisez l’exemple suivant.
SELECT 11 % 4 as remainder;
+-----------+
| remainder |
+-----------+
| 3 |
+-----------+
L’exemple suivant utilise l’exemple de base de données TICKIT. Pour de plus amples informations, veuillez consulter Exemple de base de données.
Pour renvoyer des informations pour les catégories impaires dans la table CATEGORY, utilisez l’exemple suivant.
SELECT catid, catname
FROM category
WHERE MOD(catid,2)=1
ORDER BY 1,2;
+-------+-----------+
| catid | catname |
+-------+-----------+
| 1 | MLB |
| 3 | NFL |
| 5 | MLS |
| 7 | Plays |
| 9 | Pop |
| 11 | Classical |
+-------+-----------+