::
Construcción SQL
Equivalente en MySQL:
Convierte un valor al tipo indicado: una forma abreviada de CAST(value AS type) que solo existe en PostgreSQL.
PostgreSQL 17.9
value::type- value
- Valor que se convierte
- type
- Tipo de dato de destino, por ejemplo integer, numeric, date o textTipo de datos
Valor devuelto
Valor del tipo indicado; si la conversión falla, la consulta termina con un error
Ejemplos
Cadenas a número y a fecha, un número decimal a entero
PostgreSQL 17.9
SELECT '42'::integer + 1 AS number,
'2024-03-08'::date AS DAY,
3.7::integer AS rounded;Fecha y texto a partir de columnas
PostgreSQL 17.9
SELECT member_name,
birthday::date AS birth_date,
member_id::text AS id_text
FROM FamilyMembers;División entera y exacta
PostgreSQL 17.9
SELECT 10 / 4 AS integer_division,
10::numeric / 4 AS exact_division;Detalles
value::type hace lo mismo que CAST(value AS type) y sigue las mismas reglas: por ejemplo, '3.7'::integer provoca un error, mientras que 3.7::integer se redondea a 4.
El operador :: se aplica antes que la aritmética: en 10::numeric / 4 solo el 10 se convierte a numeric, y la división pasa a ser exacta. Para convertir una expresión entera, ponla entre paréntesis: (amount * unit_price)::text.