

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Restituisce il resto di due numeri, altrimenti nota come operazione *modulo*. Per calcolare il risultato, il primo parametro viene diviso per il secondo.

## Sintassi
<a name="r_MOD-synopsis"></a>

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

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

 *number1*   
Il primo parametro di input è un numero `INTEGER`, `SMALLINT`, `BIGINT` o `DECIMAL`. Se uno dei parametri è di tipo `DECIMAL`, anche l'altro parametro deve essere di tipo `DECIMAL`. Se uno dei parametri è un valore `INTEGER`, l'altro parametro può essere `INTEGER`, `SMALLINT` o `BIGINT`. Entrambi i parametri possono essere anche `SMALLINT` o `BIGINT`, ma un parametro non può essere `SMALLINT` se l'altro è `BIGINT`. 

 *number2*   
Il secondo parametro è un numero `INTEGER`, `SMALLINT`, `BIGINT` o `DECIMAL`. Le stesse regole sui tipi di dati si applicano a *number2* così come a *number1*. 

## Tipo restituito
<a name="r_MOD-return-type"></a>

Il tipo di restituzione della funzione MOD è lo stesso tipo numerico dei parametri di input, se entrambi i parametri di input sono dello stesso tipo. Se uno dei parametri di input è `INTEGER`, in ogni caso anche il tipo di restituzione sarà `INTEGER`. I tipi di restituzione validi sono `DECIMAL`, `INT`, `SMALLINT` e `BIGINT`.

## Note per l'utilizzo
<a name="r_MOD-usage-notes"></a>

Puoi utilizzare `%` come operatore di modulo.

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

Per restituire il resto quando un numero viene diviso per un altro, utilizza l'esempio seguente.

```
SELECT MOD(10, 4);
               
+-----+
| mod |
+-----+
|   2 |
+-----+
```

Per restituire un risultato `DECIMAL` quando utilizzi la funzione MOD, utilizza l'esempio seguente.

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

Per convertire un numero prima di eseguire la funzione MOD, utilizza l'esempio seguente. Per ulteriori informazioni, consulta [Funzione CAST](r_CAST_function.md).

```
SELECT MOD(CAST(16.4 AS INTEGER), 5);
               
+-----+
| mod |
+-----+
|   1 |
+-----+
```

Per controllare se il primo parametro è pari dividendolo per 2, utilizza l'esempio seguente.

```
SELECT mod(5,2) = 0 AS is_even;
               
+---------+
| is_even |
+---------+
| false   |
+---------+
```

Per utilizzare *%* come operatore di modulo, utilizza l'esempio seguente.

```
SELECT 11 % 4 as remainder;
               
 +-----------+
| remainder |
+-----------+
|         3 |
+-----------+
```

L'esempio seguente utilizza il database di esempio TICKIT. Per ulteriori informazioni, consulta [Database di esempio](c_sampledb.md).

Per restituire informazioni per le categorie dispari nella tabella CATEGORY, utilizza l'esempio seguente. 

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