Función MOD - Amazon Redshift

Función MOD

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

MOD(number1, number2)

Argumentos

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

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

Puede utilizar % como operador de módulo.

Ejemplos

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.

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.

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