

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função MOD
<a name="r_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="r_MOD-synopsis"></a>

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

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

 *number1*   
O primeiro parâmetro de entrada é um número `INTEGER`, `SMALLINT`, `BIGINT` ou `DECIMAL`. Se um dos parâmetros for do tipo `DECIMAL`, o outro parâmetro também deverá ser do tipo `DECIMAL`. Se um dos parâmetros for um `INTEGER`, o outro parâmetro poderá ser um `INTEGER`, `SMALLINT` ou `BIGINT`. Ambos os parâmetros também podem ser `SMALLINT` ou `BIGINT`, mas um parâmetro não poderá 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="r_MOD-return-type"></a>

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`. Os tipos de retorno válidos são `DECIMAL`, `INT`, `SMALLINT` e `BIGINT`.

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

Você pode usar `%` como um operador de módulo.

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

Para retornar o resto da divisão de um número por outro, use o exemplo a seguir.

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

Para devolver um resultado `DECIMAL` ao usar a função MOD, use o exemplo a seguir.

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

Para transmitir um número antes de executar a função MOD, use o exemplo a seguir. Para obter mais informações, consulte [Função CAST](r_CAST_function.md).

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

Para verificar se o primeiro parâmetro é par dividindo-o por 2, use o exemplo a seguir.

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

Para usar *%* como operador de módulo, use o exemplo a seguir.

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

Os exemplos a seguir usa o banco de dados de exemplo de TICKIT. Para obter mais informações, consulte [Banco de dados de exemplo](c_sampledb.md).

Para retornar informações das categorias com números ímpares na tabela CATEGORY, use o exemplo a seguir. 

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