MySQL SELECT クエリがフロートを比較すると失敗するのに、比較を削除すると機能するのはなぜですか?
MySQL SELECT クエリにおける浮動小数点比較の問題の解決
MySQL SELECT クエリでは、浮動小数点値を比較するときに精度の問題が発生する可能性があります。この問題に対処するために、次の質問を検討してみましょう:
質問:
比較を削除すると正しい結果が返されるのに、float 等価比較を使用した SELECT クエリが失敗するのはなぜですか行?一致を成功させるために、操作の前に浮動小数点を 2 桁にキャストするにはどうすればよいですか?
答え:
この問題は、MySQL に固有の浮動小数点精度に起因します。これを解決するには、float 列を 10 進数型にキャストし、特定の桁数までの精度を確保します。
解決策:
次のクエリは正常に一致します。浮動小数点値を 10 進数にキャストする:
SELECT * FROM `table` WHERE CAST(`price` AS DECIMAL) = CAST(101.31 AS DECIMAL);
代替解決策:
あるいは、価格列を DECIMAL に変更することを検討することもできます。これは、より適しています。金銭的な値を処理するためのものであり、より優れた精度制御を提供します。
以上がMySQL SELECT クエリがフロートを比較すると失敗するのに、比較を削除すると機能するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?
