説明
この関数は剰余関数であり、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