MODfonction - Amazon Redshift

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.

MODfonction

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 ou DECIMAL. Si un paramètre est de type DECIMAL, l’autre paramètre doit également être de type DECIMAL. Si un paramètre est de type INTEGER, l’autre paramètre peut être de type INTEGER, SMALLINT ou BIGINT. Les deux paramètres peuvent également être de type SMALLINT ou BIGINT, mais un paramètre ne peut pas être de type SMALLINT si l’autre est de type BIGINT.

number2

Le deuxième paramètre est un nombre INTEGER, SMALLINT, BIGINT ou DECIMAL. 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 MOD fonction est du même type numérique que les paramètres d'entrée, si les deux paramètres d'entrée sont du 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 DECIMAL résultat lorsque vous utilisez la MOD fonction, utilisez l'exemple suivant.

SELECT MOD(10.5, 4); +-----+ | mod | +-----+ | 2.5 | +-----+

Pour convertir un nombre avant d'exécuter la MOD fonction, utilisez l'exemple suivant. Pour de plus amples informations, veuillez consulter CASTfonction.

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'TICKITexemple de base de données. Pour de plus amples informations, veuillez consulter Exemple de base de données.

Pour renvoyer les informations relatives aux catégories impaires du CATEGORY tableau, 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 | +-------+-----------+