Die Funktion SIGN - 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.

Die Funktion SIGN

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

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

SIGN gibt denselben numerischen Datentyp wie das/die Eingabeargument(e) 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) | +------------+-------------+-----------------------+

In diesem Beispiel wird die Musterdatenbank TICKIT verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.

Verwenden Sie das folgende Beispiel, um das Vorzeichen der Decke der Provision zu bestimmten, die für eine bestimmte Verkaufstransaktion aus der Tabelle SALES gezahlt wird.

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