OceanBase REMAINDER

2021-06-18 15:37 更新

?REMAINDER? 函數(shù)返回 ?x? 除以 ?y? 的余數(shù)。

注意 
與 MOD 函數(shù)的區(qū)別為:
在用 ?REMAINDER (x,y)? 和 ?MOD (x,y)? 函數(shù)在進行運算時,都用了一個公式 result=x-y*(x/y),區(qū)別在于計算 x/y 時的處理方式不同。在 ?REMAINDER (x,y)? 函數(shù)中,采用 ?ROUND(x/y)?,而在 ?MOD (x,y)? 函數(shù)中采用 ?FLOOR(x/y)?。在 ?REMAINDER? 函數(shù)中,當 ?ROUND(x/y)? 的參數(shù) x/y 的值的小數(shù)部分恰好為 0.5 時,如果 x/y 的值的整數(shù)部分為偶數(shù),不向前一位進位,當 x/y 的值的整數(shù)部分為奇數(shù),向前一位進位。例如,?ROUND(1.5)=2?、?ROUND(2.5)=2?、?ROUND(3.5)=4?、?ROUND(4.5)=4?。

語法

REMAINDER (x, y)

參數(shù)

參數(shù) 說明

x,y

x 和 y 為數(shù)值型(NUMBERFLOAT、BINARY_FLOAT 和 BINARY_DOUBLE)表達式。

返回類型

返回類型與數(shù)值優(yōu)先級高的參數(shù)的數(shù)據(jù)類型相同。

示例

此示例顯示了使用 ?MOD? 以及 ?REMAINDER? 函數(shù)計算 1.5/1 的余數(shù)的結(jié)果,請注意兩個函數(shù)的區(qū)別。

執(zhí)行以下語句:

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

查詢結(jié)果如下:

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號