本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ROUND 函數
ROUND 函數將數字四捨五入至最接近的整數或小數。
ROUND 函數可以選擇包含第二個引數做為 INTEGER
,表示四捨五入的小數位數 (任一方向)。當您未提供第二個引數時,函數會四捨五入為最接近的整數。指定第二個引數 integer 時,函數會捨入為具有 integer 小數位數的最接近的數字。
語法
ROUND(number [ , integer ] )
引數
- number
-
數字或評估為數字的運算式。它可以是
DECIMAL
、FLOAT8
或SUPER
類型。Amazon Redshift 可以隱含轉換其他數字資料類型。 - integer
(選用)
INTEGER
,表示沿任一方向捨入的小數位數。此引數不支援SUPER
資料類型。
傳回類型
ROUND 會傳回與輸入 number 相同的數值資料類型。
當輸入為 SUPER
類型時,輸出會保留與輸入相同的動態類型,而靜態類型仍然是 SUPER
類型。當 SUPER
的動態類型不是數字時,Amazon Redshift 會傳回 NULL
。
範例
下列範例使用 TICKIT 範例資料庫。如需詳細資訊,請參閱範本資料庫。
若要將給定交易的已付佣金四捨五入至最接近的整數,請使用下列範例。
SELECT commission, ROUND(commission) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28 | +------------+-------+
若要將給定交易的已付佣金四捨五入至第一位小數,請使用下列範例。
SELECT commission, ROUND(commission, 1) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 28.1 | +------------+-------+
若要以上一個範例的反方向延伸精確度,請使用下列範例。
SELECT commission, ROUND(commission, -1) FROM sales WHERE salesid=10000;
+------------+-------+ | commission | round | +------------+-------+ | 28.05 | 30 | +------------+-------+