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;
このクエリ内:
戻り値へのアクセス
クエリが実行されると、結果セットの state 列の計算値にアクセスできます。この例では、次のコードを使用できます。
$row['state'] // This should equal 1
このクエリは、CASE 式で指定された条件に基づいて状態の値のみを計算することに注意してください。データベース内の状態列は更新されません。
以上がMySQL クエリで IF ELSE ロジックをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。