MOD

返回除法运算的余数。

行为类型

不可变

语法

MOD( expression1, expression2 )

参数

expression1
指定被除数的数字数据类型
expression2
指定除数的数字数据类型。

计算规则

计算 MOD(expression1, expression2) 是采用下列规则:

  • 如果 expression1expression2 是 NULL 值,则结果是 NULL 值。

  • 如果 expression2 是零,则出现例外情况:数据异常 — 除数为 0。

  • 否则,结果是唯一的确切数字值 R,标度为 0 (zero),则下列各项为 true:

    • Rexpression2 具有相同的符号。

    • R 的绝对值小于 expression1 的绝对值。

    • 对于标度为 0 (零) 的一些精确数字值 K,expression2 = expression1 * K + R

示例

SELECT MOD(9,4);
 mod
-----
   1
(1 row)

SELECT MOD(10,3);
 mod
-----
   1
(1 row)

SELECT MOD(-10,3);
 mod
-----
  -1
(1 row)

SELECT MOD(-10,-3);
 mod
-----
  -1
(1 row)

SELECT MOD(10,-3);
 mod
-----
   1
(1 row)

=> SELECT MOD(6.2,0);
ERROR 3117:  Division by zero