Làm cách nào tôi có thể chuyển đổi từ Double Precision sang Bigint với PostgreSQL?


19

Tôi cần chuyển đổi giá trị của Double Precision thành Bigint với PostgreSQL. Làm thế nào tôi có thể làm điều đó?

Tôi đã thử với to_bigint(myvalue)nhưng chức năng đó không tồn tại.

Câu trả lời:


33

Có hai cách để đánh máy trong Postgres:

Bạn có thể làm theo cách tiêu chuẩn SQL:

select cast(3.141593 as bigint);

hoặc bạn có thể sử dụng toán tử cast cụ thể của Postgres: ::

select (3.141593 :: bigint);

Bạn cũng có thể muốn xem xét các chức năng làm tròn khác nhau .


@eevar Chỉ cần một ghi chú từ các tài liệu, kiểu trả về các hàm làm tròn là "giống như đầu vào", vì vậy nếu loại này là quan trọng, thì cần phải có phôi.
shortthingsushi

Có vẻ như CASTthực sự làm tròn số
Andrew Wolfe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.