Tôi có một bảng với 3 cột:Format độ chính xác gấp đôi trong PostgreSQL
customer_name varchar
,account_type varchar
,current_balance double precision
Ví dụ giá trị cho current_balance:
1200 1500.5 1500
Tôi muốn họ để hiển thị như thế này:
1200.00 1500.50 1500.00
Tôi đã thử truy vấn sau:
SELECT to_char(current_balance,'9999999999999999D99')
FROM bank;
Định dạng theo cách tôi muốn nhưng thêm khoảng trắng ngay từ đầu. Làm thế nào để giải quyết điều này? Có cách nào tốt hơn để định dạng?
Dừng lại đúng nơi bạn đang ở. Cẩn thận [đọc phần về cách xử lý gấp đôi trong Postgres] (http://www.postgresql.org/docs/8.4/interactive/datatype-numeric.html#DATATYPE-FLOAT). Đôi được coi là giá trị dấu phẩy động. Nổi được lưu trữ và tính toán theo cách mà chúng có thể mất độ chính xác. Không sử dụng giá trị dấu phẩy động để lưu trữ giá trị tiền tệ. Sử dụng các loại 'NUMERIC' hoặc' DECIMAL'. – Charles