Oracle MOD() 函数使用指南
Oracle MOD()
是一个内置函数,它返回指定的两个数字做除法运算后的余数。
Oracle MOD()
语法
这里是 Oracle MOD()
函数的语法:
MOD(y, x)
参数
y
-
必需的。 被除数。
x
-
必需的。 除数。
y
和 x
可以是何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型。
返回值
Oracle MOD(y, x)
函数返回 y
除以 x
的余数,即 y/x
的余数。
如果 x
是 0,MOD(y, x)
函数返回 y
。
如果任意一个参数为 NULL
, MOD()
将返回 NULL
。
Oracle MOD()
示例
这里有几个展示了 Oracle MOD()
函数用法的示例。
基本用法
SELECT
MOD(3, 2),
MOD(3.3, 1.2)
FROM dual;
输出:
MOD(3,2) MOD(3.3,1.2)
___________ _______________
1 0.9
负数
当两个参数的乘积为负数时, Oracle 计算求模的算法和经典算法不同。下面的示例说明了这一切:
SELECT
11 "y",
4 "x",
MOD(11, 4) "MOD(y,x)",
11 - 4 * FLOOR(11/4) "Classical"
FROM DUAL
UNION ALL
SELECT
11,
-4,
MOD(11, -4),
11 - -4 * FLOOR(11/-4)
FROM DUAL
UNION ALL
SELECT
-11,
4,
MOD(-11, 4),
-11 - 4 * FLOOR(-11/4)
FROM DUAL
UNION ALL
SELECT
-11,
-4,
MOD(-11, -4),
-11 - -4 * FLOOR(-11/-4)
FROM DUAL;
输出:
y x MOD(y,x) Classical
______ _____ ___________ ____________
11 4 3 3
11 -4 3 -1
-11 4 -3 1
-11 -4 -3 -3
NULL 参数
如果任意一个参数为 NULL
, MOD()
将返回 NULL
。
SET NULL 'NULL';
SELECT
MOD(1, NULL),
MOD(NULL, 1),
MOD(NULL, NULL)
FROM dual;
输出:
MOD(1,NULL) MOD(NULL,1) MOD(NULL,NULL)
______________ ______________ _________________
NULL NULL NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle MOD()
是一个内置函数,它返回指定的两个数字做除法运算后的余数。