説明
この関数は剰余演算を行う関数であり、2つの数値式を除算したときの余りを求めます。戻り値の符号は被除数の符号と同じです。
注意
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) を使用します。
構文
MOD (x,y)
パラメータの説明
| パラメータ | 説明 |
|---|---|
| x | 被除数を表し、数値型(NUMBER、FLOAT、BINARY_FLOAT、および BINARY_DOUBLE)の式に属します。 |
| y | 除数を表し、数値型(NUMBER、FLOAT、BINARY_FLOAT、および BINARY_DOUBLE)の式に属します。 |
戻り値の型
戻り値の型は、数値優先順位が高いパラメータのデータ型と同じです。
例
11 を 4 で割った余り、12 を 4 で割った余り、および -11 を 4 で割った余りを返します。
obclient> SELECT MOD(11,4),MOD(12,4),MOD(-11,4) FROM DUAL;
+-----------+-----------+------------+
| MOD(11,4) | MOD(12,4) | MOD(-11,4) |
+-----------+-----------+------------+
| 3 | 0 | -3 |
+-----------+-----------+------------+
1 row in set