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

Ukládání statistických dat, potřebuji DECIMAL, FLOAT nebo DOUBLE?

Tento odkaz dělá dobrou práci při vysvětlování toho, co hledáte. Zde je to, co říká:

Všechny tyto tři typy lze specifikovat pomocí následujících Parametrů (velikost, d). Kde velikost je celková velikost řetězce a d představuje přesnost. Např. pro uložení čísla jako 1234.567 nastavíte Datatype na DOUBLE(7, 3), kde 7 je celkový počet číslic a 3 je počet číslic za desetinnou čárkou.

FLOAT a DOUBLE, obě představují čísla s pohyblivou řádovou čárkou. FLOAT je pro čísla s jednoduchou přesností, zatímco DOUBLE je pro čísla s dvojnásobnou přesností. Přesnost od 0 do 23 má za následek 4bajtový sloupec FLOAT s jednou přesností. Přesnost od 24 do 53 má za následek 8bajtový sloupec DOUBLE s dvojitou přesností. FLOAT je přesný na přibližně 7 desetinných míst a DOUBLE až na 14.

Deklarace a fungování Decimal je podobné jako Double. Mezi hodnotami s pohyblivou řádovou čárkou a desetinnými (číselnými) hodnotami je ale jeden velký rozdíl. Datový typ DECIMAL používáme pro ukládání přesných číselných hodnot, kde nechceme přesnost, ale přesné a přesné hodnoty. Desítkový typ může uložit maximálně 65 číslic, s 30 číslicemi za desetinnou čárkou.

Pro co nejpřesnější a nejpřesnější hodnotu by tedy bylo nejlepší volbou Desetinné.



  1. MySql Obecná chyba:2053

  2. vložte autoinkrement do druhého sloupce

  3. Jak uděláte více příkazů SQL v jednom mysql_query?

  4. Dynamické MySQL s lokálními proměnnými