MOD
構文
目的
MODはn2をn1で割った余りを戻します。n1が0の場合は、n2を戻します。
このファンクションは、引数として、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を取ります。Oracleは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。
関連項目:
暗黙的な変換の詳細は、表2-8を参照してください。数値の優先順位の詳細は、「数値の優先順位の詳細」を参照してください。
例
次の例では、11を4で割ったときの余りを戻します。
SELECT MOD(11,4) "Modulus"
FROM DUAL;
Modulus
----------
3
このファンクションは、n1およびn2の積が負の値の場合には古典数学のモジュール・ファンクションとは異なる動作をします。古典数学のモジュール・ファンクションは、次の公式を使用したMODファンクションで表すことができます。
n2 - n1 * FLOOR(n2/n1)
次の表に、MODファンクションと古典数学のモジュール・ファンクションの相違を示します。
| n2 | n1 | MOD(n2,n1) | 古典数学のモジュール・ファンクション |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
関連項目:
「FLOOR」および「REMAINDER」を参照してください。REMAINDERはMODと似ていますが、FLOORではなくROUNDを式に使用します。
