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.

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 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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.