ホームページ > データベース > mysql チュートリアル > 以下に、提供されたテキストに基づいた質問ベースのタイトルをいくつか示します。それぞれが問題のさまざまな側面に焦点を当てています。 オプション 1 (問題に焦点を当てる): * MySQL SELECT クエリが応答を返さないのはなぜですか

以下に、提供されたテキストに基づいた質問ベースのタイトルをいくつか示します。それぞれが問題のさまざまな側面に焦点を当てています。 オプション 1 (問題に焦点を当てる): * MySQL SELECT クエリが応答を返さないのはなぜですか

Susan Sarandon
リリース: 2024-10-28 12:36:31
オリジナル
495 人が閲覧しました

Here are a few question-based titles based on your provided text, each focusing on a different aspect of the issue:

Option 1 (Focusing on the problem):

* Why Does My MySQL SELECT Query Return No Results When Using a Float for Matching?

Option 2 (Focusi

正確な SELECT マッチングのための MySQL Float のキャスト

条件として浮動小数点値を使用して SELECT クエリを実行しようとすると、予期しない動作が発生することがよくあります。次の問題は、この課題の例です。

<code class="sql">SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';</code>
ログイン後にコピー

このクエリでは、データベース内の価格列の値 101.31 が返されますが、行はゼロになります。価格条件を削除すると、予期した行が返されます。

この問題に対処するには、次の解決策を検討してください。

CAST を使用して DECIMAL に変換する

浮動小数点値を次のようにキャストする比較する前に DECIMAL 型を使用すると、適切な精度が確保されます:

<code class="sql">SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);</code>
ログイン後にコピー

データベース構造の変更

価格列を DECIMAL 型に変更することを検討してください。これにより、通貨値の精度が向上します:

ALTER TABLE `table` MODIFY COLUMN `price` DECIMAL;
ログイン後にコピー

以上が以下に、提供されたテキストに基づいた質問ベースのタイトルをいくつか示します。それぞれが問題のさまざまな側面に焦点を当てています。 オプション 1 (問題に焦点を当てる): * MySQL SELECT クエリが応答を返さないのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート