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
oDECIMAL
. Si cada parámetro es de tipoDECIMAL
, el otro parámetro debe ser también un tipoDECIMAL
. Si cada parámetro es un valorINTEGER
, el otro parámetro puede ser un valorINTEGER
,SMALLINT
oBIGINT
. Los parámetros pueden también serSMALLINT
oBIGINT
, pero un parámetro no puede serSMALLINT
si el otro esBIGINT
. - number2
-
El segundo parámetro es un número
INTEGER
,SMALLINT
,BIGINT
oDECIMAL
. 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 | +-------+-----------+