

 Amazon Redshift dejará de admitir la creación de UDF de Python después del 30 de junio de 2026. Empezaremos a aplicarlo por fases. Para obtener más información sobre los detalles del fin de vida de Python y las opciones de migración, consulte la [entrada del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) que se publicó el 30 de junio de 2025. 

# 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\_TIMEZONE](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)
```