本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MOD 函數
傳回兩個數字的餘數,也稱為模數運算。為了計算結果,第一個參數除以第二個參數。
語法
MOD(number1, number2)
引數
- number1
-
第一個輸入參數是 INTEGER、SMALLINT、BIGINT 或 DECIMAL 數字。如果任一參數為 DECIMAL 類型,則另一個參數也必須為 DECIMAL 類型。如果任一參數為 INTEGER,則另一個參數可以是 INTEGER、SMALLINT 或 BIGINT。兩個參數也都可以是 SMALLINT 或 BIGINT,但如果一個參數是 BIGINT,則另一個參數不能是 SMALLINT。
- number2
-
第二個參數是 INTEGER、SMALLINT、BIGINT 或 DECIMAL 數字。相同的資料類型規則適用於 number2 與 number1。
傳回類型
有效傳回值為 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)