Comment convertir de Double Precision en Bigint avec PostgreSQL?

19

J'ai besoin de convertir une valeur de Double Precision en Bigint avec PostgreSQL. Comment puis je faire ça?

J'ai essayé avec to_bigint(myvalue)mais cette fonction n'existait pas.

Jonas
la source

Réponses:

33

Il existe deux façons de transtyper dans Postgres:

Soit vous le faites de la manière standard SQL:

select cast(3.141593 as bigint);

ou vous pouvez utiliser l'opérateur de conversion spécifique à Postgres: ::

select (3.141593 :: bigint);

Vous pouvez également envisager les différentes fonctions d'arrondi .

eevar
la source
@eevar Juste une note de la documentation, le type de retour des fonctions d'arrondi est "identique à l'entrée", donc si le type est important, les transtypages sont requis.
shortstuffsushi
On dirait CASTqu'en fait l'arrondi
Andrew Wolfe