Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa putaran MySQL mengapung jauh lebih dari yang diharapkan?

Saat Anda menjalankan kueri:

SELECT * FROM some_table WHERE id = 123

Anda mengandalkan antarmuka pengguna untuk memformat angka floating point. Antarmuka yang Anda gunakan menggunakan dua karakter daripada lebih. Lagi pula, tidak ada informasi tentang nomor yang "benar" untuk ditampilkan.

Anda dapat meyakinkan antarmuka untuk menunjukkan angka yang tepat dengan memformat angka sebagai string atau desimal. Misalnya:

select format(some_float_field, 3)

akan mengonversi ini menjadi string dengan tiga tempat desimal. Satu peringatan:itu juga akan menambahkan koma yang mungkin tidak Anda inginkan. Ini juga harus bekerja:

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

Perhatikan bahwa Anda dapat dengan mudah memvalidasi bahwa data tersebut benar dengan melakukan sesuatu seperti:

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

Perhatikan bahwa Anda tidak ingin menggunakan = pada nilai floating point, tetapi Anda sudah memahaminya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL QUERY ganti nilai NULL berturut-turut dengan nilai rata-rata

  2. perbarui dua tabel dalam satu permintaan di mysql

  3. Cara menerapkan keunikan di beberapa tabel

  4. MYSQL dan klausa LIMIT

  5. Saya membutuhkan halaman PHP saya untuk menampilkan gambar BLOB saya dari database mysql