

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Função MOD
<a name="MOD"></a>

Retorna o resto de dois números, também chamado de operação *modulo*. Para calcular o resultado, o primeiro parâmetro é dividido pelo segundo.

## Sintaxe
<a name="MOD-synopsis"></a>

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

## Argumentos
<a name="MOD-arguments"></a>

 *number1*   
O primeiro parâmetro de entrada é um número INTEGER, SMALLINT, BIGINT ou DECIMAL. Se um dos parâmetros for um tipo DECIMAL, os outros parâmetro também devem ser um tipo DECIMAL. Se um dos parâmetros for um INTEGER, os outros parâmetro podem ser INTEGER, SMALLINT ou BIGINT. Ambos os parâmetros também podem ser SMALLINT ou BIGINT, mas um parâmetro não pode ser SMALLINT se o outro for BIGINT. 

 *number2*   
O segundo parâmetro é um número INTEGER, SMALLINT, BIGINT ou DECIMAL. As mesmas regras de tipo de dados são válidas para *number2* e *number1*. 

## Tipo de retorno
<a name="MOD-return-type"></a>

Os tipos de retorno válidos são DECIMAL, INT, SMALLINT e BIGINT. O tipo de retorno da função MOD é o mesmo tipo numérico que os parâmetros de entrada se ambos os parâmetros de entrada forem do mesmo tipo. Se um dos parâmetro de entrada for INTEGER, porém, o tipo de retorno também será INTEGER. 

## Observações de uso
<a name="MOD-usage-notes"></a>

Você pode usar *%* como um operador de modulo.

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

O exemplo a seguir retorna o resto da divisão de um número por outro:

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

O exemplo a seguir retorna um resultado decimal:

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

Você pode converter valores de parâmetros:

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

Verifique se o primeiro parâmetro é par dividindo-o por 2:

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

Você pode usar *%* como um operador de modulo:

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

O seguinte exemplo retorna informações para as categorias com números ímpares da tabela 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)
```