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

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

DDD
DDDオリジナル
2024-11-03 23:57:30276ブラウズ

How Can I Use the CASE Statement to Assign Values Based on Conditions in MySQL?

MySQL CASE について: 総合ガイド

SQL データベースを操作する場合、有意義な洞察を抽出するためにデータを操作することが不可欠です。 CASE ステートメントは、SQL ステートメントを条件付きで実行するための強力なツールを提供し、複雑なデータ変換と評価を実行できるようにします。

CASE 構文の公開

SQL CASE ステートメントは次のとおりです。構造化フォーマット:

CASE
    WHEN condition1 THEN result1
    [WHEN condition2 THEN result2] ...
    [ELSE default_result]
END CASE

CASE を活用して望ましい結果を達成する方法は次のとおりです:

例: ロール順序の割り当て

次のように仮定します。 user_role テーブルに「マネージャー」、「パートタイム」などの役割を含むフィールドがあります。ロールに基づいて番号を割り当てる新しいフィールド role_order を作成するとします。

CASE を使用した解決策:

CASE
    WHEN user_role = 'Manager' THEN 5
    WHEN user_role = 'Part Time' THEN 3
    ELSE -1 -- Handle unknown roles
END CASE

この CASE ステートメントは switch ステートメントのように機能します。

CASE 実装について

CASE は、包括的な評価ステートメントとして機能する点で IF ステートメントとは異なります。最初の WHEN 条件を評価することから始まり、対応する結果が実行されます。条件が満たされない場合は、一致する条件が見つかるまで次の WHEN 条件に進みます。一致する WHEN 条件がない場合は、オプションの ELSE 句によってデフォルトの結果が提供されます。

単一値を評価するための簡略化された CASE 構文

値を評価する場合、CASE の代替構文を使用できます。単一の値:

CASE value
    WHEN condition1 THEN result1
    [WHEN condition2 THEN result2] ...
    [ELSE default_result]
END CASE

この構文は、user_role 値を確認する例など、1 つの特定の値を調べる場合のステートメントを簡素化します。

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

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