云数据库OceanBase入门教程 OceanBase REMAINDER

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 3

REMAINDER​ 函数返回 ​x​ 除以 ​y​ 的余数。

注意
与 MOD 函数的区别为:
在用 ​REMAINDER (x,y)​ 和 ​MOD (x,y)​ 函数在进行运算时,都用了一个公式 result=x-y*(x/y),区别在于计算 x/y 时的处理方式不同。在 ​REMAINDER (x,y)​ 函数中,采用 ​ROUND(x/y)​,而在 ​MOD (x,y)​ 函数中采用 ​FLOOR(x/y)​。在 ​REMAINDER​ 函数中,当 ​ROUND(x/y)​ 的参数 x/y 的值的小数部分恰好为 0.5 时,如果 x/y 的值的整数部分为偶数,不向前一位进位,当 x/y 的值的整数部分为奇数,向前一位进位。例如,​ROUND(1.5)=2​、​ROUND(2.5)=2​、​ROUND(3.5)=4​、​ROUND(4.5)=4​。

语法

REMAINDER (x, y)

参数

参数 说明

x,y

xy为数值型(NUMBERFLOATBINARY_FLOATBINARY_DOUBLE)表达式。

返回类型

返回类型与数值优先级高的参数的数据类型相同。

示例

此示例显示了使用 ​MOD​ 以及 ​REMAINDER​ 函数计算 1.5/1 的余数的结果,请注意两个函数的区别。

执行以下语句:

SELECT MOD(1.5,1), REMAINDER(1.5,1) FROM DUAL;

查询结果如下:

+------------+------------------+
| MOD(1.5,1) | REMAINDER(1.5,1) |
+------------+------------------+
| .5 | -.5 |
+------------+------------------+