

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función SIGN
<a name="r_SIGN"></a>

 La función SIGN devuelve el signo (positivo o negativo) de un número. El resultado de la función SIGN es `1` si el argumento es positivo, `-1` si el argumento es negativo o `0` si el argumento es `0`. 

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

```
SIGN(number)
```

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

 *número*   
Número o expresión que toma el valor de un número. Puede ser un tipo `DECIMAL`, `FLOAT8` o `SUPER`. Amazon Redshift puede convertir otros tipos de datos de acuerdo con las reglas de conversión implícitas.

## Tipo de retorno
<a name="r_SIGN-return-type"></a>

SIGN devuelve el mismo tipo de datos numérico como el argumento de entrada. Si la entrada es `DECIMAL`, el resultado es `DECIMAL(1,0)`. 

Cuando la entrada es del tipo `SUPER`, la salida conserva el mismo tipo dinámico que la entrada mientras que el tipo estático sigue siendo el tipo `SUPER`. Cuando el tipo dinámico de `SUPER` no es un número, Amazon Redshift devuelve `NULL`.

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

En el siguiente ejemplo, se muestra que la columna `d` en la tabla t2 tiene `DOUBLE PRECISION` como su tipo, ya que la entrada es `DOUBLE PRECISION` y esa columna `n` en la tabla t2 tiene `NUMERIC(1,0)` como la salida ya que la entrada es `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) |
+------------+-------------+-----------------------+
```

El siguiente ejemplo utiliza la base de datos de ejemplo TICKIT. Para obtener más información, consulte [Base de datos de muestra](c_sampledb.md).

Para determinar el signo de la comisión pagada por una transacción determinada a partir de la tabla SALES, utilice el siguiente ejemplo. 

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

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