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

Przechowywanie danych statystycznych, czy potrzebuję DECIMAL, FLOAT czy DOUBLE?

Ten link wykonuje dobrą robotę wyjaśniając, czego szukasz. Oto, co jest napisane:

Wszystkie te trzy typy można określić za pomocą następujących parametrów (rozmiar, d). Gdzie size jest całkowitym rozmiarem String, a d reprezentuje precyzję. Np. Aby zapisać liczbę taką jak 1234.567, ustaw typ danych na DOUBLE(7, 3), gdzie 7 to całkowita liczba cyfr, a 3 to liczba cyfr po przecinku.

FLOAT i DOUBLE reprezentują liczby zmiennoprzecinkowe. FLOAT jest dla pojedynczej precyzji, a DOUBLE dla liczb podwójnej precyzji. Precyzja od 0 do 23 daje w wyniku 4-bajtową kolumnę FLOAT o pojedynczej precyzji. Precyzja od 24 do 53 daje w wyniku 8-bajtową kolumnę o podwójnej precyzji DOUBLE. FLOAT jest dokładny do około 7 miejsc po przecinku i DOUBLE do 14.

Deklaracja i działanie Decimal jest podobne do Double. Ale jest jedna duża różnica między wartościami zmiennoprzecinkowymi a wartościami dziesiętnymi (numerycznymi). Używamy typu danych DECIMAL do przechowywania dokładnych wartości liczbowych, gdzie nie chcemy precyzji, ale dokładnych i dokładnych wartości. Typ Decimal może przechowywać maksymalnie 65 cyfr, z 30 cyframi po przecinku.

Tak więc, aby uzyskać najdokładniejszą i najdokładniejszą wartość, najlepszą opcją byłaby liczba dziesiętna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używaj relacyjnych baz danych MySQL w CentOS 5

  2. MySQL:Jak dodać kolumnę, jeśli jeszcze nie istnieje?

  3. Ostrzeżenie wywołane przez wstawienie 4-bajtowego kodu Unicode do mysql

  4. Kreator zapytań nie wstawia znaczników czasu

  5. Jak napisać bezpieczne porównanie o wartości null <=> w czystym SQL?