Как я могу конвертировать из Double Precision в Bigint с PostgreSQL?

19

Мне нужно преобразовать значение Double Precision в Bigint с PostgreSQL. Как я могу это сделать?

Я пытался с, to_bigint(myvalue)но эта функция не существует.

Jonas
источник

Ответы:

33

Существует два способа типизации в Postgres:

Вы либо делаете это стандартным способом SQL:

select cast(3.141593 as bigint);

или вы можете использовать специфический для Postgres оператор приведения: ::

select (3.141593 :: bigint);

Вы также можете рассмотреть различные функции округления .

eevar
источник
@eevar Просто примечание из документов, тип возвращаемых функций округления «такой же, как и у ввода», поэтому, если тип важен, требуется приведение типов.
shortstuffsushi
Похоже, на CASTсамом деле делает округление
Эндрю Вулф