ホームページ  >  記事  >  データベース  >  MySQL の CASE ステートメントを使用して条件に基づいて値を割り当てるにはどうすればよいですか?

MySQL の CASE ステートメントを使用して条件に基づいて値を割り当てるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-08 12:59:02499ブラウズ

How Can I Use MySQL's CASE Statement to Assign Values Based on Conditions?

MySQL CASE 構文の説明

SQL の CASE ステートメントを使用すると、特定の条件に基づいてさまざまなステートメントのセットを条件付きで実行できます。これは if-else ステートメントではありません。むしろ、switch ステートメントに似ています。

CASE がどのように機能するかを理解するには、次の例を考えてください。

問題:

ユーザー テーブル内の user_role という名前のフィールドには、「マネージャー」、「パートタイム」などのユーザー ロールが含まれています。各ロールに異なる番号を割り当てる role_order という名前の新しいフィールドを生成する必要があります。たとえば、user_role = 'Manager' の場合、role_order は 5 である必要があります。

解決策:

CASE 構文を使用すると、このロジックを次のように実装できます。

<code class="sql">CASE 
    WHEN user_role = 'Manager' then 5
    WHEN user_role = 'Part Time' then 7
    ELSE -1 --unknown
END</code>

ここでの CASE ステートメント:

  • user_role フィールドの値を調べます
  • 「Manager」と等しい場合は、5 を返します
  • 「パートタイム」と等しい場合は、7 を返します
  • 指定された値のいずれにも一致しない場合は、-1 を返します (不明な役割を表します)

別の構文オプション:

単一の値のみを調べる場合は、より簡潔な構文を使用できます:

<code class="sql">CASE user_role
    WHEN 'Manager' then 5
    WHEN 'Part Time' then 7
    ELSE -1 --unknown
END</code>

CASE を使用すると次の値を評価できます。複数の条件を設定し、条件に応じて異なるステートメントを実行します。これは、SQL クエリの条件ロジックを管理するための強力なツールです。

以上がMySQL の CASE ステートメントを使用して条件に基づいて値を割り当てるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。