MySQL 條件查詢:使用 CASE 表達式
使用 SQL 查詢時,通常需要根據某些條件做出條件決策。在 MySQL 中,這可以使用 CASE 表達式來實現,它提供了一種結構化的方式來評估條件並根據結果傳回不同的值。
MySQL 中的 IF ELSE 語句
問題是如何在 MySQL 查詢中實作 IF ELSE 語句。在查詢語句中使用帶有 IF 操作的 mysql_query() 函數不是正確的方法。
CASE 表達式
相反,MySQL 使用 CASE 表達式來處理條件語句。它們遵循特定的語法:
CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END
每個 WHEN 子句表示一個條件,如果為真,則傳回對應的值。如果不滿足任何條件,則 ELSE 子句提供預設值。
範例
考慮問題中提供的範例:
SELECT col1, col2, ( CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END ) AS state FROM tbl1;
在此查詢中,CASE 表達式用於計算名為state 的新列。如果 action 等於 2 且 state 等於 0,則結果為 1。否則返回 0。
然後可以使用 row['state'] 語法存取此查詢的結果,正如問題中所建議的那樣。但是,請務必注意,CASE 表達式僅將值指派給結果集中的新狀態列。它不會直接修改資料庫表。
以上是如何使用 CASE 表達式在 MySQL 查詢中實作 IF-ELSE 邏輯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!