Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Fonction MOD
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,BIGINTouDECIMAL. 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,SMALLINTouBIGINT. Les deux paramètres peuvent également être de typeSMALLINTouBIGINT, mais un paramètre ne peut pas être de typeSMALLINTsi l’autre est de typeBIGINT. - number2
-
Le deuxième paramètre est un nombre
INTEGER,SMALLINT,BIGINTouDECIMAL. 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 plus d’informations, consultez 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 plus d’informations, consultez 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 | +-------+-----------+