選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

SIGN 函數

焦點模式
SIGN 函數 - Amazon Redshift

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

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

SIGN 函數傳回數字的符號 (正或負)。如果引數是正的,SIGN 函數的結果會是 1,如果引數是負的則結果為 -1,如果引數是 0 則結果為 0

語法

SIGN(number)

引數

number

數字或評估為數字的表達式。它可以是 DECIMALFLOAT8SUPER 類型。Amazon Redshift 可以根據隱含轉換規則轉換其他資料類型。

傳回類型

SIGN 傳回與輸入引數相同的數值資料類型。如果輸入是 DECIMAL,則輸出為 DECIMAL(1,0)

當輸入為 SUPER 類型時,輸出會保留與輸入相同的動態類型,而靜態類型仍然是 SUPER 類型。當 SUPER 的動態類型不是數字時,Amazon Redshift 會傳回 NULL

範例

下列範例顯示表格 t2 中的 d 欄具有 DOUBLE PRECISION 類型,因為輸入是 DOUBLE PRECISION,而表格 t2 中的 n 欄具有 NUMERIC(1,0) 輸出,因為輸入是 NUMERIC

CREATE TABLE t1(d DOUBLE PRECISION, n NUMERIC(12, 2)); INSERT INTO t1 VALUES (4.25, 4.25), (-4.25, -4.25); CREATE TABLE t2 AS SELECT SIGN(d) AS d, SIGN(n) AS n FROM t1; SELECT table_name, column_name, data_type FROM SVV_REDSHIFT_COLUMNS WHERE table_name='t1' OR table_name='t2'; +------------+-------------+-----------------------+ | table_name | column_name | data_type | +------------+-------------+-----------------------+ | t1 | d | double precision | | t1 | n | numeric(12,2) | | t2 | d | double precision | | t2 | n | numeric(1,0) | | t1 | col1 | character varying(20) | +------------+-------------+-----------------------+

下列範例使用 TICKIT 範例資料庫。如需詳細資訊,請參閱範本資料庫

若要確定從 SALES 表中為給定交易支付的佣金的符號,請使用以下範例。

SELECT commission, SIGN(commission) FROM sales WHERE salesid=10000; +------------+------+ | commission | sign | +------------+------+ | 28.05 | 1 | +------------+------+

下一個主題:

SQRT

上一個主題:

SIN

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。