Problemi di FLOAT
Se avete riscontrato problemi nell'utilizzo di campi FLOAT in una tabella MySQL leggete qui!
Se avete strani problemi nei risultati di operazioni sui dati a virgola mobile presenti nel vostro database, la colpa è molto probabilmente del tipo di dato!
Per esserne sicuri, dovreste vedere i dati inseriti nei campi incriminati con molti più decimali del previsto.
Ad esempio inserendo 0.12 potreste ritrovarvi nel campo del database il valore 0.1200004350464!
Ecco il riassunto del problema direttamente dal sito di MySQL AB.
Soluzione al problema
Se vi identificate nel problema sopra descritto, la soluzione più rapida e indolore è cambiare il tipo di dato, da FLOAT a DECIMAL(m,n), dove m sta per il numero di cifre totali, mentre n per il numero di decimali.
Esempio
-- tabella "prodotti": cambio i FLOAT in DECIMAL(15,2) ALTER TABLE `prodotti` CHANGE `prezzo_unitario` `prezzo_unitario` DECIMAL( 15, 2 ) NOT NULL DEFAULT '0';
Questo metodo è particolarmente indicato quando si ha a che fare con dei prezzi, il cui numero di decimali si sa a priori.
Dettagli pubblicazione
Categoria: MySQL
Pubblicato da: loryzz in data: 24.01.2008 10:53:30
Ultima modifica di: loryzz in data: 21.01.2009 11:11:12
Votazioni
Lascia un commento
Tutti i commenti devono essere approvati da un amministratore prima di essere visualizzati al pubblico. Si tratta di una misura preventiva contro spam e pubblicità e non è necessario reinviare il commento.
Si prega di scrivere commenti in tema. Spam e messaggi promozionali non vengono approvati.
MySQL: interventi collegati
SQL: Selezionare righe duplicate pubblicato da loryzz in MySQL
Rinominare le tabelle MySQL pubblicato da loryzz in MySQL
Password di root dimenticata pubblicato da loryzz in MySQL
Selezione condizionale pubblicato da loryzz in MySQL
Backup & Restore pubblicato da loryzz in MySQL































Ritorna all'inizio
Commenti rispetto al totale
0 %
Percentuale di commento
0 %