Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der Operator „größer als oder gleich“ von MySQL ignoriert seine oder gleich Verpflichtung

Denken Sie daran, dass float ist ein fehlerhafter Datentyp, wenn es um Genauigkeit geht. Wenn Sie 12 repräsentieren als Float erhalten Sie 11.99999999999998 oder so.

'38.03' kann in einen Dezimalwert oder einen anderen genaueren Datentyp konvertiert werden (abhängig von RDBMS, ich bin hier allgemein), und er unterscheidet sich vom Float-Wert.

Float ist 32 Bit, niedrige Genauigkeit. Double funktioniert viel besser, da es sich um einen 64-Bit-Datentyp handelt. Dezimaldatentypen sind in einigen Systemen numerische 128-Bit-Datentypen zum Speichern sehr präziser numerischer Werte und werden normalerweise zum Nennen von Geld verwendet.

Und überspringen Sie die Angewohnheit, mit = zu vergleichen Operator von float Werte. Floats werden für ungefähre und schnelle Berechnungen verwendet, und nur der Vergleich mit einem Bereich ist akzeptabel, um den Wert eines float zu überprüfen . Das gilt für praktisch jedes einzelne System.