Hallo zusammen,
ich habe heute eine Abfrage versucht und war etwas erschrocken, was da auf mich zugekommen ist.
Folgendes ist passiert:
Ein Datenbankfeld mit dem Typ Float ist in der Datenbank, in welchem Preise stehen. (Bsp: 9.99) Ich habe versucht folgenden SELECT abzusetzen.
Es hat NICHT funktioniert.
Folgendes jedoch hat funktioniert:
Nach näherem hinschauen stand folgender Wert in der Datenbank:
9.989999771118164
Folgendes habe ich in der DOkumentation gefunden:
"Die Datentypen FLOAT und DOUBLE werden zur Darstellung annähernder numerischer Datenwerte verwendet. Für FLOAT gestattet der SQL-Standard optional die Angabe der Genauigkeit (nicht aber des Bereichs des Exponenten) in Bits, die dem Schlüsselwort FLOAT in Klammern folgen."
Warum sollte ich also ein Float verwenden??? Was bringt einem diese Ungenauigkeit?
Ich bin verwirrt :/
ich habe heute eine Abfrage versucht und war etwas erschrocken, was da auf mich zugekommen ist.
Folgendes ist passiert:
Ein Datenbankfeld mit dem Typ Float ist in der Datenbank, in welchem Preise stehen. (Bsp: 9.99) Ich habe versucht folgenden SELECT abzusetzen.
Code:
SELECT * FROM beispiel WHERE preis = '9.99'
Folgendes jedoch hat funktioniert:
Code:
SELECT * FROM beispiel WHERE preis LIKE '9.99'
9.989999771118164
Folgendes habe ich in der DOkumentation gefunden:
"Die Datentypen FLOAT und DOUBLE werden zur Darstellung annähernder numerischer Datenwerte verwendet. Für FLOAT gestattet der SQL-Standard optional die Angabe der Genauigkeit (nicht aber des Bereichs des Exponenten) in Bits, die dem Schlüsselwort FLOAT in Klammern folgen."
Warum sollte ich also ein Float verwenden??? Was bringt einem diese Ungenauigkeit?
Ich bin verwirrt :/
Comment