SIGN 函數 - Amazon Redshift

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

SIGN 函數

SIGN 函數傳回數字的符號 (正或負)。SIGN 函數的結果為 1-10,表示引數的符號。

Syntax (語法)

SIGN (number)

引數

number

數字或評估為數字的表達式。它可以是十進制類型、FLOAT8 或超級類型。Amazon Redshift 可以根據隱含轉換規則轉換其他資料類型。

傳回類型

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

當輸入為 SUPER 類型時,輸出保留與輸入相同的動態類型,而靜態類型保持 SUPER 類型。當 SUPER 的動態類型不是數字時,Amazon Redshift 返回空值。

範例

查明給定交易之已付佣金的符號:

select commission, sign (commission) from sales where salesid=10000; commission | sign -----------+------ 28.05 | 1 (1 row)

以下範例顯示「t2.d」類型為雙精度,因為輸入為雙精度,而「t2.n」的輸出為 numeric(1,0),因為其輸入為數值。

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; \d t1 \d t2 The output of the “\d” commands is: Table "public.t1" Column | Type | Encoding | DistKey | SortKey | Preload | Encryption | Modifiers --------+------------------+----------+---------+---------+---------+------------+----------- d | double precision | none | f | 0 | f | none | n | numeric(12,2) | lzo | f | 0 | f | none | Table "public.t2" Column | Type | Encoding | DistKey | SortKey | Preload | Encryption | Modifiers --------+------------------+----------+---------+---------+---------+------------+----------- d | double precision | none | f | 0 | f | none | n | numeric(1,0) | lzo | f | 0 | f | none |