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