Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzazione dei dati statistici, ho bisogno di DECIMAL, FLOAT o DOUBLE?

Questo link fa un buon lavoro nello spiegare cosa stai cercando. Ecco cosa dice:

Tutti questi tre tipi possono essere specificati dai seguenti parametri (dimensione, d). Dove size è la dimensione totale della stringa e d rappresenta la precisione. Ad esempio, per memorizzare un numero come 1234.567, imposterai il tipo di dati su DOUBLE(7, 3) dove 7 è il numero totale di cifre e 3 è il numero di cifre per seguire la virgola decimale.

FLOAT e DOUBLE, entrambi rappresentano numeri in virgola mobile. Un FLOAT è per una precisione singola, mentre un DOUBLE è per numeri a doppia precisione. Una precisione da 0 a 23 risulta in una colonna FLOAT a precisione singola a 4 byte. Una precisione da 24 a 53 risulta in una colonna DOUBLE a precisione doppia di 8 byte. FLOAT ha una precisione di circa 7 cifre decimali e DOUBLE fino a 14.

La dichiarazione e il funzionamento di Decimal è simile a Double. Ma c'è una grande differenza tra valori in virgola mobile e valori decimali (numerici). Usiamo il tipo di dati DECIMAL per memorizzare valori numerici esatti, dove non vogliamo precisione ma valori esatti e accurati. Un tipo Decimale può memorizzare un massimo di 65 cifre, con 30 cifre dopo il punto decimale.

Quindi, per il valore più accurato e preciso, Decimale sarebbe l'opzione migliore.