SIGNFunktion - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SIGNFunktion

Die SIGN Funktion gibt das Vorzeichen (positiv oder negativ) einer Zahl zurück. Das Ergebnis der SIGN Funktion ist, 1 ob das Argument positiv ist, -1 ob das Argument negativ ist oder 0 ob das Argument negativ ist0.

Syntax

SIGN(number)

Argument

number (Zahl

Zahl oder Ausdruck, der zu einer Zahl ausgewertet wird. Es kann sich um den Typ DECIMAL, FLOAT8 oder SUPER handeln. Amazon Redshift kann weitere Datentypen gemäß den impliziten Konvertierungsregeln konvertieren.

Rückgabetyp

SIGNgibt den gleichen numerischen Datentyp wie das Eingabeargument zurück. Bei einer Eingabe von DECIMAL ist die Ausgabe DECIMAL(1,0).

Wenn die Eingabe den Typ SUPER hat, behält die Ausgabe den gleichen dynamischen Typ wie die Eingabe bei, während der statische Typ weiterhin den Typ SUPER hat. Wenn der dynamische Typ von SUPER keine Zahl ist, gibt Amazon Redshift eine NULL zurück.

Beispiele

Das folgende Beispiel zeigt, dass Spalte d in Tabelle t2 DOUBLE PRECISION als Typ hat, da die Eingabe DOUBLE PRECISION ist, und dass Spalte n in Tabelle t2 NUMERIC(1,0) als Ausgabe hat, da die Eingabe NUMERIC ist.

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) | +------------+-------------+-----------------------+

Im folgenden Beispiel wird die TICKIT Beispieldatenbank verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.

Verwenden Sie das folgende Beispiel, um das Vorzeichen der für eine bestimmte Transaktion gezahlten Provision anhand der SALES Tabelle zu ermitteln.

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