sql >> Database >  >> RDS >> Mysql

Moet ik een veld PRIJS opslaan als een int of als een float in de database?

Interessante vraag.

Ik zou eigenlijk niet voor float kiezen in de mysql-omgeving. Te veel problemen in het verleden met precisie met dat datatype.

Voor mij zou de keuze zijn tussen int en decimal(18,4) .

Ik heb voorbeelden uit de echte wereld gezien die worden gebruikt om drijvende-kommawaarden weer te geven. De internals van JD Edwards datatables doen dit allemaal. Hoeveelheden worden meestal gedeeld door 10000. Hoewel ik zeker weet dat het sneller en kleiner is in de tabel, betekent dit alleen dat we de ints altijd naar een decimale waarde moeten CASTen als we er iets mee willen doen, vooral delen.

Vanuit een programmeerperspectief zou ik altijd liever werken met decimal voor prijs (of money in RDBMS'en die dit ondersteunen).



  1. Is er een lijstgegevenstype in opgeslagen MySQL-procedures of een manier om ze te emuleren?

  2. PID-fout bij het starten van mysql.server?

  3. Cloud Database-opties vergelijken voor PostgreSQL

  4. stel het klassenpad in om verbinding te maken tussen mysql en jdbc