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

Lagring af statistiske data, skal jeg bruge DECIMAL, FLOAT eller DOUBLE?

Dette link gør et godt stykke arbejde med at forklare, hvad du leder efter. Her er hvad der står:

Alle disse tre typer kan specificeres med følgende parametre (størrelse, d). Hvor størrelse er den samlede størrelse af strengen, og d repræsenterer præcision. For at gemme et tal som 1234.567, skal du indstille datatypen til DOBBELT(7, 3), hvor 7 er det samlede antal cifre og 3 er antallet af cifre, der skal følge decimaltegnet.

FLOAT og DOUBLE repræsenterer begge flydende kommatal. En FLOAT er for enkelt-præcision, mens en DOUBLE er for dobbelt-præcision tal. En præcision fra 0 til 23 resulterer i en 4-byte enkelt-præcision FLOAT kolonne. En præcision fra 24 til 53 resulterer i en 8-byte dobbelt-præcision DOBBEL kolonne. FLOAT er nøjagtig med cirka 7 decimaler og DOBBELT op til 14.

Decimals erklæring og funktion ligner Double. Men der er én stor forskel mellem flydende kommaværdier og decimale (numeriske) værdier. Vi bruger DECIMAL datatype til at gemme nøjagtige numeriske værdier, hvor vi ikke ønsker præcision, men nøjagtige og præcise værdier. En decimaltype kan maksimalt gemme 65 cifre med 30 cifre efter decimalkommaet.

Så for den mest nøjagtige og præcise værdi ville decimal være den bedste mulighed.



  1. advarselsproblem:forventer, at parameter 1 er mysqli_result

  2. Kan ikke bruge kolonnenavn desc i mysql

  3. Opbygning af en Microsoft Access-database

  4. MySql UUID duplikering BUG