

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Fonction MOD
<a name="r_MOD"></a>

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
<a name="r_MOD-synopsis"></a>

```
MOD(number1, number2)
```

## Arguments
<a name="r_MOD-arguments"></a>

 *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
<a name="r_MOD-return-type"></a>

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
<a name="r_MOD-usage-notes"></a>

Vous pouvez utiliser `%` comme opérateur modulo.

## Exemples
<a name="r_MOD-example"></a>

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](r_CAST_function.md).

```
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](c_sampledb.md).

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 |
+-------+-----------+
```