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

Mengapa MySQL mengembalikan beberapa float dalam notasi ilmiah, tetapi tidak yang lain?

Tampaknya ada batas enam digit pada apa yang ditampilkan dari CLI (dan mungkin di tempat lain). Contoh yang Anda miliki adalah 1.12305e-06 yaitu 0,00000112305 yang akan ditampilkan sebagai 0,00000 - meskipun jelas itu bukan nol.

Jika Anda bersikeras menggunakan float atau double, Anda harus memaksanya menggunakan sesuatu seperti round(columnName,5) untuk memaksa tampilan dalam nilai desimal. Jika tidak, mungkin beralih ke tipe data desimal.

Dari http://dev.mysql.com/ doc/refman/5.0/en/floating-point-types.html

Karena nilai floating-point adalah perkiraan dan tidak disimpan sebagai nilai eksak, upaya untuk memperlakukannya sebagai tepat dalam perbandingan dapat menimbulkan masalah. Mereka juga tunduk pada dependensi platform atau implementasi. Untuk informasi lebih lanjut, lihat Bagian C.5.5.8, “Masalah dengan Nilai Titik Mengambang

Lihat juga utas ini di forum mysql tentang masalah ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Query MySql untuk Menjalankan Koreksi Saldo

  2. Permintaan untuk mendapatkan semua baris dari bulan sebelumnya

  3. masalah menghubungkan ke database mysql jarak jauh menggunakan php

  4. Di MySQL:Bagaimana cara melewatkan nama tabel sebagai prosedur tersimpan dan/atau argumen fungsi?

  5. Cara memasukkan nilai ke dalam kolom identitas otomatis di MYSQL