sql >> Databáze >  >> RDS >> Mysql

Proč MySQL vrací některé floats ve vědecké notaci, ale ne jiné?

Zdá se, že existuje šestimístný limit pro to, co se zobrazuje mimo CLI (a pravděpodobně i jinde). Příklad, který máte, je 1,12305e-06, což je 0,00000112305, což by se zobrazilo jako 0,00000 – i když zjevně to není nula.

Pokud trváte na použití float nebo double, budete je muset vynutit pomocí něčeho jako round(columnName,5) pro vynucení zobrazení v desítkové hodnotě. Jinak možná přepněte na desetinný datový typ.

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

Vzhledem k tomu, že hodnoty s plovoucí desetinnou čárkou jsou přibližné a nejsou uloženy jako přesné hodnoty, pokusy o jejich přesné porovnávání mohou vést k problémům. Podléhají také závislostem na platformě nebo implementaci. Další informace naleznete v části C.5.5.8, “Problémy s hodnotami s plovoucí desetinnou čárkou

Podívejte se také na toto vlákno na mysql fórech přesně o tomto problému.



  1. inicializovat databázi sqlite pro Android

  2. Woocommerce získat ID produktu pomocí SKU produktu

  3. Jak povolit vzdálený přístup k databázi PostgreSQL

  4. Techniky optimalizace dotazů v SQL Server:5 osvědčených postupů pro zvýšení výkonu dotazů