

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MOD 関数
<a name="MOD"></a>

2 つの数値の余りを返します。*モジュロ*演算とも呼ばれます。結果を計算するには、最初のパラメータを 2 番目のパラメータで除算します。

## 構文
<a name="MOD-synopsis"></a>

```
MOD(number1, number2)
```

## 引数
<a name="MOD-arguments"></a>

 *number1*   
最初の入力パラメータは INTEGER 型、SMALLINT 型、BIGINT 型、または DECIMAL 型の数値です。一方のパラメータが DECIMAL 型である場合は、もう一方のパラメータも DECIMAL 型である必要があります。一方のパラメータが INTEGER である場合、もう一方のパラメータは INTEGER、SMALLINT、または BIGINT のいずれかにします。両方のパラメータを SMALLINT または BIGINT にすることもできますが、一方のパラメータが BIGINT である場合に、もう一方のパラメータを SMALLINT にすることはできません。

 *number2*   
2 番目のパラメータは INTEGER 型、SMALLINT 型、BIGINT 型、または DECIMAL 型の数値です。*number1* と同じデータ型ルールが *number2* に適用されます。

## 戻り型
<a name="MOD-return-type"></a>

有効な戻り型は DECIMAL、INT、SMALLINT、および BIGINT です。両方の入力パラメータが同じ型である場合、MOD 関数の戻り型は、入力パラメータと同じ数値型になります。ただし、一方の入力パラメータが INTEGER である場合は、戻り型も INTEGER になります。

## 使用に関する注意事項
<a name="MOD-usage-notes"></a>

*%* をモジュロ演算子として使用できます。

## 例
<a name="MOD-example"></a>

次の例は、ある数値を別の数値で除算したときの余りを返します。

```
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)
```