ホームページ > データベース > mysql チュートリアル > MySQL クエリで IF ELSE ロジックをシミュレートするにはどうすればよいですか?

MySQL クエリで IF ELSE ロジックをシミュレートするにはどうすればよいですか?

DDD
リリース: 2024-12-01 15:30:15
オリジナル
592 人が閲覧しました

How Can I Simulate IF ELSE Logic in MySQL Queries?

MySQL クエリで IF ELSE ステートメントをエミュレートする方法

MySQL では、IF ELSE ステートメントはネイティブにサポートされていません。ただし、CASE 式を使用すると、同様の機能を実現できます。

CASE 式について

CASE 式は、一連の条件を評価し、最初に一致した条件に基づいて結果を返します。状態。次の形式になります。

CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ...
  ELSE default_result
END
ログイン後にコピー

質問内の IF ELSE ステートメントを複製するには、次のように CASE 式を使用します。

SELECT col1, col2, 
  (CASE 
    WHEN (action = 2 AND state = 0) THEN 1
    ELSE 0
  END) AS state
FROM tbl1;
ログイン後にコピー

このクエリ内:

  • 条件 (アクション) = 2 AND state = 0) アクション列が 2 に等しく、状態列が 0 に等しいかどうかをチェックします。
  • この条件が true の場合、値 1 を返します。
  • それ以外の場合の場合、値 0 が返されます。
  • 結果の値は、SELECT のエイリアス状態に割り当てられます。 list.

戻り値へのアクセス

クエリが実行されると、結果セットの state 列の計算値にアクセスできます。この例では、次のコードを使用できます。

$row['state'] 
// This should equal 1
ログイン後にコピー

このクエリは、CASE 式で指定された条件に基づいて状態の値のみを計算することに注意してください。データベース内の状態列は更新されません。

以上がMySQL クエリで IF ELSE ロジックをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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