Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо MySQL връща някои плаващи числа в научна нотация, но не и други?

Изглежда, че има шестцифрено ограничение за това, което се показва извън CLI (и вероятно другаде). Примерът, който имате, е 1.12305e-06, което е 0.00000112305, което ще бъде показано като 0.00000 – макар че очевидно не е нула.

Ако настоявате да използвате floats или удвои, ще трябва да ги изтласкате, като използвате нещо като round(columnName,5) за принудително извеждане на десетична стойност. В противен случай може да преминете към десетичен тип данни.

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

Тъй като стойностите с плаваща запетая са приблизителни и не се съхраняват като точни стойности, опитите да се третират като точни при сравнения могат да доведат до проблеми. Те също са обект на зависимости от платформа или внедряване. За повече информация вижте раздел C.5.5.8, „Проблеми със стойности с плаваща запетая

Вижте също тази нишка във форумите на mysql точно за този проблем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам външно пълно присъединяване в laravel 5.0?

  2. Най-добра практика за структура на базата данни за гласуване на коментари

  3. Архивирайте mySQL бази данни от localhost, работещи на Wamp сървър

  4. Как да запишете в базата данни множество автори в таблица с прости книги?

  5. Създател на заявки на Laravel за рекурсивни резултати? напр. идентификатор, идентификатор на_родител