Wie kann ich mit PostgreSQL von Double Precision nach Bigint konvertieren?

19

Ich muss mit PostgreSQL einen Wert von Double Precision nach Bigint konvertieren. Wie kann ich das machen?

Ich habe es mit versucht, to_bigint(myvalue)aber diese Funktion gab es nicht.

Jonas
quelle

Antworten:

33

Es gibt zwei Möglichkeiten, Postgres zu typisieren:

Entweder machst du es nach dem SQL-Standard:

select cast(3.141593 as bigint);

oder Sie können den Postgres-spezifischen Besetzungsoperator verwenden: ::

select (3.141593 :: bigint);

Möglicherweise möchten Sie auch die verschiedenen Rundungsfunktionen berücksichtigen .

Eevar
quelle
@eevar Nur eine Anmerkung aus den Dokumenten: Der Rückgabetyp der Rundungsfunktionen ist "der gleiche wie der der Eingabe". Wenn der Typ also wichtig ist, sind Umwandlungen erforderlich.
Shortstuffsushi
Sieht so aus, als würde CASTtatsächlich gerundet
Andrew Wolfe