MySQL の CASE 式は Switch ステートメントのようにどのように機能しますか?

Patricia Arquette
リリース: 2024-11-05 17:33:02
オリジナル
473 人が閲覧しました

How Does MySQL's CASE Expression Function Like a Switch Statement?

MySQL の CASE 式を理解する

直感的な "if" ステートメントとは異なり、MySQL の CASE 構文は "switch" ステートメントを模倣しています。条件を評価し、対応する結果を返すための 2 つの異なる形式が提供されます。

比較ステートメントを含む構文:

CASE</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN user_role = 'Manager' then 4
WHEN user_name = 'Tom' then 27
WHEN columnA <> columnB then 99
ELSE -1 --unknown
ログイン後にコピー

END

この形式では、有効な SQL 式を使用して複数の比較条件を指定できます。各「WHEN」句はその条件を評価し、true の場合、対応するステートメントが実行されます。

単一値の構文:

CASE user_role</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 4
WHEN 'Part Time' then 7
ELSE -1 --unknown
ログイン後にコピー

END

この簡潔な形式では、1 つの値のみを調べていることを想定しており、CASE 式の直後に複数の「WHEN」条件を指定できます。 「ELSE」句はオプションであり、「WHEN」条件がどれも満たされない場合にフォールバック値を提供します。

例への適用:

新しい「user_role」フィールドに基づいてフィールド「role_order」を作成する場合は、次のように 2 番目の構文を利用できます:

CASE user_role</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 5
WHEN 'Part Time' then 8
ELSE -1 --unknown
ログイン後にコピー

END

この式は、「user_role」が「Manager」の場合は「role_order」に値 5 を割り当て、「user_role」が「Part Time」の場合は 8 を、これらの条件のどちらも満たされない場合は -1 を割り当てます。

以上がMySQL の CASE 式は Switch ステートメントのようにどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
前の記事:PHP で URL の日付を dd/mm/yyyy から YYYY-MM-DD に安全に変換するにはどうすればよいですか? 次の記事:MySQL で各グループの最初の行を選択するにはどうすればよいですか?
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!