Справочник по функциям

CAST

Преобразует значение в указанный тип данных.

PostgreSQL 17.5
CAST(value AS type)

Параметры

value
Значение для преобразования
typeтип данных
Целевой тип данных, например INTEGER, NUMERIC, DATE или TEXT

Возвращаемое значение

Значение указанного типа; при неудачном преобразовании — ошибка запроса

Примеры

Строка в число

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

Округление при приведении к INTEGER

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

Сокращённая запись через ::

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

Подробности

ТипРезультат
INTEGER, BIGINTЦелое число. Дробь типа numeric округляется от нуля (2.5 → 3), а double precision — к чётному (2.5 → 2). Строка должна содержать целое число: '12abc' и '3.7' вызывают ошибку.
NUMERIC[(p, s)]Точное число: s — знаков после запятой, лишние округляются; если число не помещается в p цифр — ошибка.
DOUBLE PRECISIONЧисло с плавающей точкой, около 15 значащих цифр.
TEXT, VARCHAR(n)Строка. VARCHAR(n) молча обрезает значение до n символов.
DATEДата; строка должна содержать существующую дату, время отбрасывается.
TIMESTAMPДата со временем без часового пояса.
BOOLEANЛогическое значение; из строк понимает 'true', 'false', 'yes', 'no', '1', '0'.

Вместо CAST(value AS type) можно писать value::type.

Смотрите также

Где изучить