ฉันจะแปลงจาก Double Precision เป็น Bigint ด้วย PostgreSQL ได้อย่างไร


19

ฉันต้องการแปลงค่าของ Double Precision เป็น Bigint ด้วย PostgreSQL ฉันจะทำสิ่งนั้นได้อย่างไร

ฉันลองแล้วto_bigint(myvalue)แต่ฟังก์ชั่นนั้นไม่มีอยู่จริง

คำตอบ:


33

มีสองวิธีในการพิมพ์ใน Postgres:

คุณทำตามวิธีมาตรฐานของ SQL:

select cast(3.141593 as bigint);

หรือคุณสามารถใช้ตัวดำเนินการเฉพาะ Postgres: ::

select (3.141593 :: bigint);

นอกจากนี้คุณยังอาจต้องการที่จะต้องพิจารณาต่างๆฟังก์ชั่นการปัดเศษ


@eevar เพียงบันทึกจากเอกสารประเภทการปัดเศษฟังก์ชันส่งคืนจะเป็น "เหมือนกับอินพุต" ดังนั้นหากประเภทนั้นมีความสำคัญ
shortstuffsushi

ดูเหมือนว่าCASTจะเป็นการปัดเศษจริงๆ
Andrew Wolfe
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.