

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# MOD 函數
<a name="r_MOD"></a>

傳回兩個數字的餘數，也稱為*模數*運算。為了計算結果，第一個參數除以第二個參數。

## 語法
<a name="r_MOD-synopsis"></a>

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

## 引數
<a name="r_MOD-arguments"></a>

 *number1*   
第一個輸入參數是 `INTEGER`、`SMALLINT`、`BIGINT` 或 `DECIMAL` 數字。如果任一參數為 `DECIMAL` 類型，則另一個參數也必須為 `DECIMAL` 類型。如果任一參數為 `INTEGER`，則另一個參數可以是 `INTEGER`、`SMALLINT` 或 `BIGINT`。兩個參數也都可以是 `SMALLINT` 或 `BIGINT`，但如果一個參數是 `BIGINT`，則另一個參數不能是 `SMALLINT`。

 *number2*   
第二個參數是 `INTEGER`、`SMALLINT`、`BIGINT` 或 `DECIMAL` 數字。相同的資料類型規則適用於 *number2* 與 *number1*。

## 傳回類型
<a name="r_MOD-return-type"></a>

如果兩個輸入參數都是相同類型，則 MOD 函數的傳回類型與輸入參數的數值類型相同。不過，如果任一輸入參數為 `INTEGER`，則傳回類型也會是 `INTEGER`。有效的傳回類型為 `DECIMAL`、`INT`、`SMALLINT` 和 `BIGINT`。

## 使用須知
<a name="r_MOD-usage-notes"></a>

您可以使用 `%` 作為模數運算子。

## 範例
<a name="r_MOD-example"></a>

若要傳回一個數字除以另一個數字時的餘數，請使用下列範例。

```
SELECT MOD(10, 4);
               
+-----+
| mod |
+-----+
|   2 |
+-----+
```

若要在使用 MOD 函數時傳回 `DECIMAL` 結果，請使用下列範例。

```
SELECT MOD(10.5, 4);
               
+-----+
| mod |
+-----+
| 2.5 |
+-----+
```

若要在執行 MOD 函數之前轉換數字，請使用下列範例。如需詳細資訊，請參閱[CAST 函數](r_CAST_function.md)。

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

下列範例使用 TICKIT 範例資料庫。如需詳細資訊，請參閱[範本資料庫](c_sampledb.md)。

若要傳回 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 |
+-------+-----------+
```