Como posso converter de Double Precision para Bigint com PostgreSQL?

19

Eu preciso converter um valor de Double Precision para Bigint com PostgreSQL. Como eu posso fazer isso?

Eu tentei com, to_bigint(myvalue)mas essa função não existia.

Jonas
fonte

Respostas:

33

Existem duas maneiras de escrever no Postgres:

Você faz da maneira padrão do SQL:

select cast(3.141593 as bigint);

ou você pode usar o operador de conversão específico do Postgres: ::

select (3.141593 :: bigint);

Você também pode considerar as várias funções de arredondamento .

eevar
fonte
@eevar Apenas uma observação dos documentos, o tipo de retorno das funções de arredondamento é "igual à entrada", portanto, se o tipo for importante, serão necessárias projeções.
precisa saber é o seguinte
Se parece CASTrealmente faz o arredondamento
Andrew Wolfe