

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Fonction SIGN
<a name="r_SIGN"></a>

 La fonction SIGN renvoie le signe (positif ou négatif) d’un nombre. Le résultat de la fonction SIGN est `1` si l’argument est positif, `-1` si l’argument est négatif ou `0` si l’argument est `0`. 

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

```
SIGN(number)
```

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

 *number*   
Nombre ou expression ayant pour valeur un nombre. Il peut être de type `DECIMAL`, `FLOAT8` ou `SUPER`. D’autres types de données peuvent être convertis par Amazon Redshift via les règles de conversion implicites.

## Type de retour
<a name="r_SIGN-return-type"></a>

SIGN renvoie le même type de données numérique que celui de l’argument en entrée. Si l’entrée est de type `DECIMAL`, le résultat est de type `DECIMAL(1,0)`. 

Quand l’entrée est de type `SUPER`, la sortie conserve le même type dynamique que l’entrée, tandis que le type statique reste le type `SUPER`. Lorsque le type dynamique de `SUPER` n’est pas un nombre, Amazon Redshift renvoie `NULL`.

## Exemples
<a name="r_SIGN-examples"></a>

L’exemple suivant montre que la colonne `d` dans la table t2 est de type `DOUBLE PRECISION` puisque l’entrée est de type `DOUBLE PRECISION` et que la colonne `n` dans la table t2 a `NUMERIC(1,0)` comme sortie puisque l’entrée est de type `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) |
+------------+-------------+-----------------------+
```

L’exemple suivant utilise l’exemple de base de données TICKIT. Pour plus d’informations, consultez [Exemple de base de données](c_sampledb.md).

Pour déterminer le signe de la commission payée pour une transaction donnée à partir de la table SALES, utilisez l’exemple suivant. 

```
SELECT commission, SIGN(commission)
FROM sales WHERE salesid=10000;

+------------+------+
| commission | sign |
+------------+------+
|      28.05 |    1 |
+------------+------+
```