

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

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

## Arguments (Argomenti)
<a name="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 INTEGER, l'altro parametro può essere un INTEGER, SMALLINT, o BIGINT. Entrambi i parametri possono essere anche SMALLINT o BIGINT, ma un parametro non può essere un SMALLINT se l'altro è un BIGINT. 

 *number2*   
Il secondo parametro di input è 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="MOD-return-type"></a>

I tipi di restituzione validi sono DECIMAL, INT, SMALLINT e BIGINT. 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 entrambi i parametri di input sono INTEGER, comunque, il tipo di restituzione sarà anche un INTEGER. 

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

Puoi utilizzare *%* come operatore di modulo.

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

L'esempio seguente restituisce il resto quando un numero viene diviso per un altro:

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

L'esempio seguente restituisce un risultato decimale:

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

Puoi trasmettere i valori dei parametri:

```
SELECT MOD(CAST(16.4 as integer), 5);
               
 mod
------
 1
```

Controlla se il primo parametro è pari dividendolo per 2:

```
SELECT mod(5,2) = 0 as is_even;
               
 is_even
--------
 false
```

Puoi utilizzare *%* come operatore di modulo:

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

L'esempio seguente restituisce informazioni per le categorie dispari nella tabella CATEGORY: 

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

(6 rows)
```