MOD 函数
返回两个数字的余数,也称为取模 运算。将第一个参数除以第二个参数来计算结果。
语法
MOD(number1, number2)
参数
- number1
-
第一个输入参数是
INTEGER
、SMALLINT
、BIGINT
或DECIMAL
数值。如果任一参数是DECIMAL
类型,则另一参数也必须是DECIMAL
类型。如果任一参数是INTEGER
,则另一参数可以是INTEGER
、SMALLINT
或BIGINT
。两个参数也可以都是SMALLINT
或BIGINT
,但如果一个参数是BIGINT
,则另一个参数不能是SMALLINT
。 - number2
-
第二个参数是
INTEGER
、SMALLINT
、BIGINT
或DECIMAL
数值。相同的数据类型规则与 number1 一样适用于 number2。
返回类型
如果两个参数属于相同的类型,MOD 函数的返回类型是与输入参数相同的数值类型。但是,如果任一输入参数是 INTEGER
,返回类型也将是 INTEGER
。有效的返回类型为 DECIMAL
、INT
、SMALLINT
和 BIGINT
。
使用说明
您可以使用 %
作为取模运算符。
示例
要返回一个数值除以另一个数值后的余数,请使用以下示例。
SELECT MOD(10, 4);
+-----+ | mod | +-----+ | 2 | +-----+
要在使用 MOD 函数时返回 DECIMAL
结果,请使用以下示例。
SELECT MOD(10.5, 4);
+-----+ | mod | +-----+ | 2.5 | +-----+
要在运行 MOD 函数之前强制转换数值,请使用以下示例。有关更多信息,请参阅 CAST 函数。
SELECT MOD(CAST(16.4 AS INTEGER), 5);
+-----+ | mod | +-----+ | 1 | +-----+
要通过将第一个参数除以 2 来检查该参数是否为偶数,请使用以下示例。
SELECT mod(5,2) = 0 AS is_even;
+---------+ | is_even | +---------+ | false | +---------+
要使用 % 作为取模运算符,请使用以下示例。
SELECT 11 % 4 as remainder;
+-----------+ | remainder | +-----------+ | 3 | +-----------+
以下示例使用 TICKIT 示例数据库。有关更多信息,请参阅 示例数据库。
要返回 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 | +-------+-----------+