Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dlaczego runda MySQL płynie o wiele bardziej niż oczekiwano?

Po uruchomieniu zapytania:

SELECT * FROM some_table WHERE id = 123

Polegasz na interfejsie użytkownika, aby sformatować liczby zmiennoprzecinkowe. Interfejs, którego używasz, używa dwóch znaków, a nie więcej. W końcu nie ma informacji o „właściwym” numerze do wyświetlenia.

Możesz przekonać interfejs, aby wyświetlał właściwą liczbę, formatując liczbę jako ciąg lub jako ułamek dziesiętny. Na przykład:

select format(some_float_field, 3)

skonwertuje to na łańcuch z trzema miejscami po przecinku. Jedna uwaga:doda również przecinki, których możesz nie chcieć. To również powinno działać:

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

Pamiętaj, że możesz łatwo sprawdzić poprawność danych, wykonując coś takiego:

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

Pamiętaj, że nie chcesz używać = na wartościach zmiennoprzecinkowych, ale już to rozumiesz.



  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 Schema Builder zmienia silnik pamięci masowej

  2. Jak zezwolić na wyszukiwanie pełnotekstowe z myślnikami w zapytaniu?

  3. Wyniki zapytania mysql z funkcją GROUP BY

  4. Przewodnik po projektowaniu bazy danych dla systemu zarządzania zapasami w MySQL

  5. c# mysql AddWithValue unicode