尽管这两个功能执行相同的操作,但即使它们产生相同的o/p,这两者之间的基本区别是什么?是否存在与性能相关的差异(如果是),那么哪个更好?
谢谢
最佳答案
documentation的区别很明显:
NOTE
The REMAINDER function uses the round function in its formula, whereas the MOD function uses the floor function in its formula.
换句话说,当参数是正整数时,mod函数将返回一个介于0和第二个参数之间的正数。余数函数返回一个绝对值小于第二个参数除以2的数字。
对于负数,差异可能更明显。差异的一个示例是:
REMAINDER(-15, 4)
MOD(-15, 4)
第一个给出
-3
,第二个给出1
。编辑:
这是怎么回事4变成-15有多少次。一种方法是“-4”乘以剩余的1。即:-15 = 4 *(-4)+1。另一种方法是“-3”乘以:-15 = 4 *(-3)-3。
-15/4的差表示为整数。使用floor,您得到
-4
。使用回合,您得到-3
。
关于sql - oracle中的MOD和REMAINDER有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24449229/