翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MOD 関数
2 つの数値の余りを返します。モジュロ演算とも呼ばれます。結果を計算するには、最初のパラメータを 2 番目のパラメータで除算します。
構文
MOD(number1, number2)
引数
- number1
-
最初の入力パラメータは INTEGER 型、SMALLINT 型、BIGINT 型、または DECIMAL 型の数値です。一方のパラメータが DECIMAL 型である場合は、もう一方のパラメータも DECIMAL 型である必要があります。一方のパラメータが INTEGER である場合、もう一方のパラメータは INTEGER、SMALLINT、または BIGINT のいずれかにします。両方のパラメータを SMALLINT または BIGINT にすることもできますが、一方のパラメータが BIGINT である場合に、もう一方のパラメータを SMALLINT にすることはできません。
- number2
-
2 番目のパラメータは INTEGER 型、SMALLINT 型、BIGINT 型、または DECIMAL 型の数値です。number1 と同じデータ型ルールが number2 に適用されます。
戻り型
有効な戻り型は DECIMAL、INT、SMALLINT、および BIGINT です。両方の入力パラメータが同じ型である場合、MOD 関数の戻り型は、入力パラメータと同じ数値型になります。ただし、一方の入力パラメータが INTEGER である場合は、戻り型も INTEGER になります。
使用に関する注意事項
% をモジュロ演算子として使用できます。
例
次の例は、ある数値を別の数値で除算したときの余りを返します。
SELECT MOD(10, 4);
mod ------ 2
次の例は、小数の結果を返します。
SELECT MOD(10.5, 4);
mod ------ 2.5
パラメータ値をキャストできます。
SELECT MOD(CAST(16.4 as integer), 5);
mod ------ 1
最初のパラメータを 2 で割って偶数かどうかをチェックします。
SELECT mod(5,2) = 0 as is_even;
is_even -------- false
% をモジュロ演算子として使用できます。
SELECT 11 % 4 as remainder;
remainder ----------- 3
次の例は、CATEGORY テーブル内の奇数カテゴリーの情報を返します。
select catid, catname from category where mod(catid,2)=1 order by 1,2;
catid | catname -------+----------- 1 | MLB 3 | NFL 5 | MLS 7 | Plays 9 | Pop 11 | Classical (6 rows)