Referencia de funciones

CAST

Convierte un valor al tipo de dato indicado.

PostgreSQL 17.9
CAST(value AS type)
value
Valor que se convierte
type
Tipo de dato de destino, por ejemplo INTEGER, NUMERIC, DATE o TEXT
Tipo de datos

Valor devuelto

Valor del tipo indicado; si la conversión falla, la consulta termina con un error

Ejemplos

Cadena a número

PostgreSQL 17.9
SELECT CAST('42' AS INTEGER) + 1 AS result;
result
43

Redondeo al convertir a INTEGER

PostgreSQL 17.9
SELECT CAST(12005.6 AS INTEGER) AS result;
result
12006

Forma abreviada con ::

PostgreSQL 17.9
SELECT '42'::INTEGER * 2 AS result;
result
84

Detalles

TipoResultado
INTEGER, BIGINTNúmero entero. Un número decimal de tipo numeric se redondea alejándose de cero (2.5 → 3); uno de tipo double precision, al par (2.5 → 2). Una cadena tiene que contener un número entero: '12abc' y '3.7' provocan un error.
NUMERIC[(p, s)]Número exacto: s es el número de decimales y los sobrantes se redondean; un número que no cabe en p dígitos es un error.
DOUBLE PRECISIONNúmero de coma flotante con unas 15 cifras significativas.
TEXT, VARCHAR(n)Cadena. VARCHAR(n) recorta el valor a n caracteres sin avisar.
DATEFecha; una cadena tiene que contener una fecha que exista, y la hora se descarta.
TIMESTAMPFecha con hora, sin zona horaria.
BOOLEANValor lógico; de las cadenas se aceptan 'true', 'false', 'yes', 'no', '1' y '0'.

En lugar de CAST(value AS type) puedes escribir value::type.

Véase también

Dónde aprenderlo