PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

DecimalField chuyển đổi 0 thành 0E-10

Tôi cũng đã gặp phải vấn đề này và phát hiện ra rằng thực sự mọi thứ đang hoạt động bình thường. Trong Python nếu bạn thực sự xác định một cái gì đó như thế này Decimal("0.0000000000") bạn sẽ thấy điều này trong bảng điều khiển:

>>> Decimal("0.0000000000")
Decimal('0E-10')

Trong tình huống của tôi, tôi đã chuyển đổi từ SQLite3 phụ trợ cho PostgreSQL cho việc sản xuất. Mọi thứ đều hoạt động tốt trong SQLite, bởi vì nó không hiển thị (hoặc lưu trữ) rõ ràng tất cả các chữ số thập phân. Vì vậy, nếu bạn chèn 0 trong trường số SQLite và sau đó chọn nó, bạn sẽ nhận được 0 .

Nhưng nếu bạn chèn 0 trong PostgreSQL trường số nó sẽ điền số 0 vào phần thập phân và chèn 0.0000000000 . Vì vậy, khi Python đặt điều này ở dạng Thập phân, bạn sẽ thấy Decimal("0E-10") .

CẬP NHẬT - đã sửa trong Django 1.8




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gây ra bởi:org.postgresql.util.PSQLException:FATAL:xác thực mật khẩu không thành công cho quản trị viên người dùng

  2. Heroku Rails Rake Task để Sync Production &Local DB

  3. trong postgres, bạn có thể đặt định dạng mặc định cho dấu thời gian, theo phiên hoặc toàn cầu không?

  4. JPA Pessimistic Lock nỗ lực không bao giờ lỗi thời

  5. Làm cách nào để lấy truy vấn con DISTINCT ON được sắp xếp theo một cột riêng biệt và thực hiện nó nhanh chóng?