

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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
<a name="r_SIGN"></a>

 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 Argument`0`. 

## Syntax
<a name="r_SIGN-synopsis"></a>

```
SIGN(number)
```

## Argument
<a name="r_SIGN-argument"></a>

 *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
<a name="r_SIGN-return-type"></a>

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
<a name="r_SIGN-examples"></a>

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](c_sampledb.md).

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