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

Tại sao vòng MySQL lại trôi nổi hơn mong đợi?

Khi bạn chạy truy vấn:

SELECT * FROM some_table WHERE id = 123

Bạn đang dựa vào giao diện người dùng để định dạng các số dấu phẩy động. Giao diện bạn đang sử dụng sử dụng hai ký tự thay vì nhiều hơn. Rốt cuộc, không có thông tin về số "bên phải" để hiển thị.

Bạn có thể thuyết phục giao diện hiển thị số phù hợp bằng cách định dạng số dưới dạng chuỗi hoặc dưới dạng số thập phân. Ví dụ:

select format(some_float_field, 3)

sẽ chuyển đổi giá trị này thành một chuỗi có ba chữ số thập phân. Một lưu ý:nó cũng sẽ thêm dấu phẩy mà bạn có thể không muốn. Điều này cũng sẽ hoạt động:

select cast(some_float_field as decimal(8, 3))

Lưu ý rằng bạn có thể dễ dàng xác nhận rằng dữ liệu là chính xác bằng cách làm như sau:

select *
from some_table
where some_float_field between 1919.987 - 0.0001 and 1919.987 + 0.0001;

Lưu ý rằng bạn không muốn sử dụng = trên các giá trị dấu phẩy động, nhưng bạn đã hiểu điều đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Loại cột nào nên được sử dụng để lưu trữ dữ liệu được tuần tự hóa trong db mysql?

  2. Cách lấy giá trị từ một cột trong bảng khi tồn tại hai cột cùng tên trong một phép nối sql

  3. Tham gia bảng InnoDB với bảng MyISAM

  4. Lỗi nghiêm trọng:Không có ngoại lệ 'mysqli_sql_exception' với thông báo 'Không có chỉ mục nào được sử dụng trong truy vấn / câu lệnh chuẩn bị'

  5. Làm cách nào tôi có thể làm lại mật khẩu MySQL của mình để có thể cào db:create on rails?