enable_numeric_rounding - Amazon Redshift

自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章

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

enable_numeric_rounding

值 (粗體為預設值)

on (true)、ff (false)

描述

指定是否使用數值四捨五入。如果 enable_numeric_roundingon,Amazon Redshift 會在將 NUMERIC 值轉換為其他數值類型 (例如 INTEGER 或 DECIMAL 時) 使用四捨五入。如果 enable_numeric_roundingoff,Amazon Redshift 會在將 NUMERIC 值轉換為其他數值類型時將其截斷。如需數值類型的相關資訊,請參閱 數值類型

範例

--Create a table and insert the numeric value 1.5 into it. CREATE TABLE t (a numeric(10, 2)); INSERT INTO t VALUES (1.5); SET enable_numeric_rounding to ON; --Amazon Redshift now rounds NUMERIC values when casting to other numeric types. SELECT a::int FROM t; a --- 2 (1 row) SELECT a::decimal(10, 0) FROM t; a --- 2 (1 row) SELECT a::decimal(10, 5) FROM t; a --------- 1.50000 (1 row) SET enable_numeric_rounding to OFF; --Amazon Redshift now truncates NUMERIC values when casting to other numeric types. SELECT a::int FROM t; a --- 1 (1 row) SELECT a::decimal(10, 0) FROM t; a --- 1 (1 row) SELECT a::decimal(10, 5) FROM t; a --------- 1.50000 (1 row)