类别:

:doc:`/sql-reference/functions-numeric`(舍入和截断)

MOD

返回输入 expr1 除以输入 expr2 的余数。

等效于模 算术运算符 </sql-reference/operators-arithmetic>`(例如 :code:`expr1 % expr2)。

语法

MOD( <expr1> , <expr2> )
Copy

实参

expr1

数值表达式。

expr2

数值表达式。

返回

返回整数或定点十进制数。

使用说明

  • expr1expr2 两者都必须是数值表达式。它们不需要是整数。

  • 返回值是基于截断除法(向零取整)的余数,而非基于地板除法(向下取整)的余数。因此,如果 expr1 为负数,则返回值为负数。这种行为与某些编程语言(例如 Python)不同,但与标准 SQL 一致。有关更多信息,请参阅 “Modulo Wikipedia”页面 (link removed)。

示例

以下示例显示 MOD() 函数在整数值和非整数值上的使用情况:

SELECT MOD(3, 2) AS mod1, MOD(4.5, 1.2) AS mod2;
Copy

输出:

+------+------+
| MOD1 | MOD2 |
+------+------+
|    1 |  0.9 |
+------+------+
Copy
语言: 中文