

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función MOD
<a name="r_MOD"></a>

Devuelve el resto de dos números, también denominada operación de *módulo*. Para calcular el resultado, el primer parámetro se divide entre el segundo.

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

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

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

 *number1*   
El primer parámetro de entrada es un número `INTEGER`, `SMALLINT`, `BIGINT` o `DECIMAL`. Si cada parámetro es de tipo `DECIMAL`, el otro parámetro debe ser también un tipo `DECIMAL`. Si cada parámetro es un valor `INTEGER`, el otro parámetro puede ser un valor `INTEGER`, `SMALLINT` o `BIGINT`. Los parámetros pueden también ser `SMALLINT` o `BIGINT`, pero un parámetro no puede ser `SMALLINT` si el otro es `BIGINT`. 

 *number2*   
El segundo parámetro es un número `INTEGER`, `SMALLINT`, `BIGINT` o `DECIMAL`. Se aplican las mismas reglas de tipo de datos en *number2* y en *number1*. 

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

El tipo de retorno de la función MOD es el mismo tipo numérico que los parámetros de entrada, si ambos parámetros de entrada son del mismo tipo. No obstante, si algún parámetro de entrada es un valor `INTEGER`, el tipo de retorno también será `INTEGER`. Los tipos de devolución válidos son `DECIMAL`, `INT`, `SMALLINT` y `BIGINT`.

## Notas de uso
<a name="r_MOD-usage-notes"></a>

Puede utilizar `%` como operador de módulo.

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

Para devolver el resto cuando se divide un número entre otro, use el siguiente ejemplo.

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

Para devolver un resultado `DECIMAL` al utilizar la función MOD, utilice el siguiente ejemplo.

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

Para convertir un número antes de ejecutar la función MOD, utilice el siguiente ejemplo. Para obtener más información, consulte [Función CAST](r_CAST_function.md).

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

Para comprobar si el primer parámetro es par dividiéndolo entre 2, use el siguiente ejemplo.

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

Para usar *%* como operador de módulo, utilice el siguiente ejemplo.

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

El siguiente ejemplo utiliza la base de datos de ejemplo TICKIT. Para obtener más información, consulte [Base de datos de muestra](c_sampledb.md).

Para devolver la información para categorías con números impares en la tabla CATEGORY, use el siguiente ejemplo. 

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