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

Tại sao MySQL trả về một số float trong ký hiệu khoa học, mà không phải là những thứ khác?

Dường như có một giới hạn sáu chữ số đối với những gì được hiển thị trong CLI (và có thể ở những nơi khác). Ví dụ bạn có là 1.12305e-06 là 0,00000112305 sẽ được hiển thị là 0,00000 - mặc dù rõ ràng nó không phải là 0.

Nếu bạn khăng khăng muốn sử dụng phao hoặc đôi, bạn sẽ phải loại bỏ chúng bằng cách sử dụng một cái gì đó như round(columnName,5) để buộc màn hình hiển thị ở giá trị thập phân. Nếu không, có thể chuyển sang kiểu dữ liệu thập phân.

Từ http://dev.mysql.com/ doc / refman / 5.0 / en / float-point-styles.html

Bởi vì giá trị dấu phẩy động là gần đúng và không được lưu trữ dưới dạng giá trị chính xác, việc cố gắng coi chúng là chính xác trong so sánh có thể dẫn đến sự cố. Chúng cũng phụ thuộc vào nền tảng hoặc sự phụ thuộc vào triển khai. Để biết thêm thông tin, hãy xem Phần C.5.5.8, “ Sự cố với Giá trị Dấu phẩy động

Cũng xem chuỗi này trên diễn đàn mysql về vấn đề chính xác này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. vòng lặp mysql cho kết quả là php bên ngoài truy vấn mysql

  2. Cây menu Echo với chức năng đệ quy

  3. java.sql.SQLException:Trước khi bắt đầu tập kết quả

  4. Tôi gặp phải lỗi nghiêm trọng trong khi thực thi lệnh

  5. Lỗi câu lệnh dấu phân tách MySQL