Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum findet meine MySQL-Abfrage meinen Float-Wert nicht?

Mary-Kate Olsen
Freigeben: 2024-10-31 18:30:29
Original
669 Leute haben es durchsucht

 Why Doesn't My MySQL Query Find My Float Value?

Fehlerbehebung bei MySQL-FLOAT-Auswahlproblemen

Beim Versuch, eine Zeile aus einer MySQL-Tabelle basierend auf einem Float-Wert abzurufen, tritt ein häufiges Problem auf Der übereinstimmende Wert gibt null Zeilen zurück. Dieses Problem kann auftreten, wenn die Gleitkommazahlen in der Tabelle und die Abfrage unterschiedliche Genauigkeit haben.

Betrachten Sie beispielsweise die folgende Abfrage:

SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
Nach dem Login kopieren

Auch wenn die Tabelle eine Zeile mit ident= enthält B. „ident23“ und „price=“101.31“, entspricht die Abfrage aufgrund der unterschiedlichen Genauigkeit möglicherweise nicht der Übereinstimmung. Um dieses Problem zu beheben, können Sie die Preisspalte in einen DECIMAL-Typ umwandeln:

SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);
Nach dem Login kopieren

Dadurch wird sichergestellt, dass beide Werte mit der gleichen Genauigkeit verglichen werden, sodass die Abfrage die richtige Zeile abrufen kann.

Alternativ können Sie erwägen, die Preisspalte dauerhaft in einen DECIMAL-Typ zu ändern. DECIMAL ist aufgrund seiner höheren Präzision im Vergleich zu FLOAT im Allgemeinen der bevorzugte Datentyp für die Verarbeitung von Geldwerten.

Das obige ist der detaillierte Inhalt vonWarum findet meine MySQL-Abfrage meinen Float-Wert nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage