Oracle REMAINDER() 函数使用指南
Oracle REMAINDER()
是一个内置函数,它返回指定的两个数字做除法运算后的余数。
Oracle REMAINDER()
函数类似于 MOD
, 只是它在其公式中使用 ROUND
,而 MOD
使用 FLOOR
。
Oracle REMAINDER()
语法
这里是 Oracle REMAINDER()
函数的语法:
REMAINDER(y, x)
参数
num
-
必需的。
y
-
必需的。 被除数。
x
-
必需的。 除数。
y
和 x
可以是何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型。
返回值
Oracle REMAINDER(y, x)
函数返回 y
除以 x
的余数,即 y/x
的余数。
如果 x
是 0,REMAINDER(y, x)
函数返回 y
。
如果任意一个参数为 NULL
, REMAINDER()
将返回 NULL
。
Oracle REMAINDER()
示例
这里有几个展示了 Oracle REMAINDER()
函数用法的示例。
基本用法
SELECT
REMAINDER(3, 2),
REMAINDER(3.3, 1.2)
FROM dual;
输出:
REMAINDER(3,2) REMAINDER(3.3,1.2)
___________ _______________
1 0.9
REMAINDER()
vs MOD
REMAINDER()
与 MOD
不同之处在于, REMAINDER()
在其公式中使用 ROUND
,而 MOD
使用 FLOOR
。
SELECT
REMAINDER(14, 3),
MOD(14, 3)
FROM dual;
输出:
REMAINDER(14,3) MOD(14,3)
__________________ ____________
-1 2
下面的语句可以解释这一切:
SELECT
14 - 3 * ROUND(14/3) "REMAINDER",
14 - 3 * FLOOR(14/3) "MOD"
FROM dual;
输出:
REMAINDER MOD
____________ ______
-1 2
这里, REMAINDER()
与 MOD
的计算方法如下:
REMAINDER(y, x)
等于y - x * ROUND(y/x)
MOD(y, x)
等于y - x * FLOOR(y/x)
NULL 参数
如果任意一个参数为 NULL
, REMAINDER()
将返回 NULL
。
SET NULL 'NULL';
SELECT
REMAINDER(1, NULL),
REMAINDER(NULL, 1),
REMAINDER(NULL, NULL)
FROM dual;
输出:
REMAINDER(1,NULL) REMAINDER(NULL,1) REMAINDER(NULL,NULL)
____________________ ____________________ _______________________
NULL NULL NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle REMAINDER()
是一个内置函数,它返回指定的两个数字做除法运算后的余数。