ホームページ > データベース > mysql チュートリアル > 「base_price」が 0 の場合、MySQL CASE WHEN ステートメントが間違った条件を選択するのはなぜですか?

「base_price」が 0 の場合、MySQL CASE WHEN ステートメントが間違った条件を選択するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-25 02:02:09
オリジナル
897 人が閲覧しました

Why Does My MySQL CASE WHEN Statement Choose the Wrong Condition When `base_price` is 0?

MySQL での CASE..WHEN ステートメントの正しい使用

MySQL では、CASE..WHEN ステートメントを使用してさまざまな条件を評価し、各条件に基づいて特定の結果を返します。ただし、予期しない結果を避けるために、適切に使用することが重要です。

質問:

CASE..WHEN ステートメントを実行して、base_price が 0 であるレコードをフェッチする場合、指定された値が次であるにもかかわらず、最初の条件の代わりに値 3 の条件が選択されるのはなぜですか? 0?

答え:

問題は CASE ステートメントの構文にあります。指定されたクエリ:

ステートメントは条件を評価し、最初に一致した条件を返します。ただし、列名 course_enrollment_settings.base_price が CASE ステートメントの直後に繰り返されているため、構文は正しくありません。これにより、ステートメントが自身の結果を残りの条件と比較することになり、常に 3 つの条件が選択されることになります。

問題を解決するには、その時点から列名を削除します:

CASE ステートメントは、不必要な繰り返しを行わずに条件を正しく評価し、期待どおりの結果を保証するようになりました。

以上が「base_price」が 0 の場合、MySQL CASE WHEN ステートメントが間違った条件を選択するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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