

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

Al igual que la [función CAST](https://docs.aws.amazon.com/redshift/latest/dg/r_CAST_function.html), la función CONVERT convierte un tipo de datos en otro tipo compatible. Por ejemplo, puede convertir una cadena en una fecha o un tipo numérico en una cadena. CONVERT realiza una conversión en tiempo de ejecución, lo que significa que la conversión no cambia el tipo de datos de un valor en una tabla de origen. Solo cambia en el contexto de la consulta.

Determinados tipos de datos requieren una conversión explícita a otros tipos de datos con la función CONVERT. Otros tipos de datos se pueden convertir implícitamente, como parte de otro comando, sin utilizar CAST ni CONVERT. Consulte [Conversión y compatibilidad de tipos](c_Supported_data_types.md#r_Type_conversion). 

## Sintaxis
<a name="r_CONVERT-syntax"></a>

```
CONVERT ( type, expression )
```

## Argumentos
<a name="r_CONVERT-arguments"></a>

 *type*   
Uno de los admitidos [Tipos de datos](c_Supported_data_types.md). 

 *expresión*   
Una expresión que toma el valor de uno o más valores, como un nombre de columna o un literal. La conversión de valores nulos devuelve valores nulos. La expresión no puede tener cadenas en blanco ni vacías. 

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

CONVERT devuelve el tipo de datos especificado por el argumento *type*.

**nota**  
Amazon Redshift devuelve un error si intenta realizar una conversión problemática, como una conversión DECIMAL que pierde precisión, como la siguiente:   

```
SELECT CONVERT(decimal(2,1), 123.456);
```
o una conversión a un valor de INTEGER que genera un desbordamiento:   

```
SELECT CONVERT(smallint, 12345678);
```

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

Algunos de los ejemplos utilizan la [base de datos de muestra TICKIT](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html). Para obtener más información acerca de cómo configurar datos de ejemplo, consulte [Cargar datos](https://docs.aws.amazon.com/redshift/latest/gsg/cm-dev-t-load-sample-data.html).

En la siguiente consulta, se utiliza la función CONVERT para convertir una columna de decimales en enteros

```
SELECT CONVERT(integer, pricepaid)
FROM sales WHERE salesid=100;
```

En este ejemplo, se convierte un entero en una cadena de caracteres.

```
SELECT CONVERT(char(4), 2008);
```

En este ejemplo, la fecha y la hora actuales se convierten en un tipo de datos de carácter variable: 

```
SELECT CONVERT(VARCHAR(30), GETDATE());

getdate
---------
2023-02-02 04:31:16
```

En este ejemplo, se convierte la columna saletime solo en la hora y se eliminan las fechas de cada fila.

```
SELECT CONVERT(time, saletime), salesid
FROM sales order by salesid limit 10;
```

Para obtener información sobre la conversión de una marca temporal de una zona horaria a otra, consulte [Función CONVERT\$1TIMEZONE](CONVERT_TIMEZONE.md). Para obtener más funciones de fecha y hora, consulte [Funciones de fecha y hora](Date_functions_header.md).

En el siguiente ejemplo, se convierten datos de caracteres variable en un objeto datetime.

```
SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;
```

**nota**  
No puede realizar una operación de CAST o CONVERTER en un tipo de datos `GEOMETRY` para cambiarlo a otro tipo de datos. No obstante, puede proporcionar una representación hexadecimal de una cadena literal en un formato extendido de binario conocido (EWKB) como entrada a las funciones que aceptan un argumento `GEOMETRY`. Por ejemplo, la función `ST_AsText` siguiente espera un tipo de datos `GEOMETRY`.   

```
SELECT ST_AsText('01010000000000000000001C400000000000002040');
```

```
st_astext  
------------
 POINT(7 8)
```
También puede especificar explícitamente el tipo de datos `GEOMETRY`.   

```
SELECT ST_AsText('010100000000000000000014400000000000001840'::geometry);
```

```
st_astext  
------------
 POINT(5 6)
```