Introducción

Cuando trabaja con datos almacenados en PostgreSQL, puede tener algunos datos que preferiría tratar como un tipo de datos diferente. Por ejemplo, puede tener un valor de texto que representa un número, como «53». Para realizar cálculos sobre ese valor, podría tener más sentido convertir ese valor en un entero. En Postgres, la función CAST se utiliza para convertir el tipo de datos de un valor a un tipo de datos diferente. El valor debe ser compatible con el tipo de datos objetivo; de lo contrario, se devolverá un error. En este artículo de PostgreSQL, le mostraremos cómo utilizar la función CAST de PostgreSQL y revisaremos algunos ejemplos de diferentes conversiones.

Requisitos previos

Antes de continuar con este tutorial, se deben cumplir dos requisitos previos clave:

  • Debe tener PostgreSQL instalado y configurado en su computadora.
  • Debe tener algunos conocimientos básicos de PostgreSQL.

Función CAST de PostgreSQL

Hay dos maneras de CASTun valor en PostgreSQL. En el primer método, especificamos el valor y el tipo de datos objetivo dentro de los paréntesis de la función CAST. La sintaxis se muestra a continuación:

1
SELECT CAST ( VALOR COMO TIPO )

Otra forma de castear un valor es utilizando la notación :: entre el valor y el tipo de datos objetivo. Puede ver la sintaxis a continuación:

1
SELECT VALOR::TIPO

En esta sintaxis, value representa el valor que se quiere fundir o cambiar el tipo de datos.El type representa el tipo de datos que usted está apuntando para este valor; algunos valores posibles de type incluyen INTEGER, FLOAT y CHAR.

Ejemplo de Postgres CAST

Veamos algunos ejemplos de cómo utilizar la función Postgres CAST.

Postgres CAST to String

Para nuestro primer ejemplo, lanzaremos un valor como un valor de cadena. Podemos ver cómo se hace en la siguiente sentencia SELECT:

1
2
3
4
5
SELECT CAST( 5137 AS TEXT );
text
——
5137
(1 ROW)

Postgres CAST to Integer

A continuación, convertiremos un valor de tipo texto a un entero. La siguiente sentencia muestra cómo se hace:

1
2
3
4
5
SELECT CAST( ‘214’ AS INTEGER );
int4
——
214
(1 ROW)

En el ejemplo que se muestra a continuación, vamos a lanzar un valor entero al tipo de datos MONEY. Podemos ver cómo funciona en la siguiente sentencia:

1
2
3
4
5
SELECT CAST(7419 AS MONEY);
money
———–
$7,419.00
(1 ROW)

Postgres CAST to Interval

Nuestro siguiente ejemplo lanzará un valor de texto al tipo de datos INTERVAL. La siguiente sentencia SELECT muestra cómo funciona:

1
2
3
4
5
SELECT CAST (‘1 año 2 meses 7 días’ AS INTERVAL);
INTERVAL
———————-
1 AÑO 2 MESES 7 DÍAS
(1 FILA)

Postgres CAST to Date

También podemos utilizar la función CAST para convertir un valor de texto en un tipo de dato DATE como se ve en el siguiente ejemplo:

1
2
3
4
5
SELECT CAST( ‘July 24, 1999’ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Aquí hay otra forma de CASTtexto como fecha:

1
2
3
4
5
SELECT CAST( ’24-07-99′ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Postgres CAST With Trim

En el ejemplo que se muestra a continuación, recortaremos un valor de texto, y luego lanzaremos el resultado que se devuelve de TRIM:

1
2
3
4
5
SELECT CAST( TRIM( LEADING ‘DATE ‘ FROM ‘DATE January 28, 1998’ ) AS DATE);
ltrim
————
1998-01-28
(1 ROW)

Postgres CAST Con Concatenación

Podemos concatenar dos o más cadenas utilizando el operador ||. En nuestro último ejemplo, concatenaremos un valor de cadena con un valor de fecha que está fundido a TEXT. La siguiente sentencia muestra cómo se hace:

1
2
3
4
5
SELECT ‘La fecha actual es ‘ || CAST( CURRENT_DATE AS TEXT );
?COLUMN?
——————————–
La fecha actual es 2020-03-28
(1 ROW)

Conclusión

Cuando se consultan datos en PostgreSQL, es posible que se desee convertir los valores de ciertas columnas a un tipo de datos diferente. Cambiar el tipo de datos puede facilitar la realización de cálculos y operaciones de procesamiento en los datos que se devuelven. En este artículo, le mostramos cómo utilizar la función CAST de Postgres para convertir el tipo de datos de un valor. Si ha seguido todos los ejemplos presentados en este artículo, será capaz de utilizar la función CAST de forma efectiva en sus propias consultas PostgreSQL.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.