MOD 函數 - AWS Clean Rooms

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

MOD 函數

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

語法

MOD(number1, number2)

引數

number1

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

number2

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

傳回類型

有效傳回值為 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)