MySQL 提供了兩種結構,稱為 Case 表達式和 Case 語句,它們看起來可以互換。然而,理解它們的具體功能至關重要。
Case 表達式評估條件並傳回對應的結果。它通常用在表達式中,例如在 SELECT 語句中或作為另一個表達式的一部分。語法為:
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
例如:
SELECT CASE WHEN type = 1 THEN 'foo' WHEN type = 2 THEN 'bar' ELSE 'baz' END AS name_for_numeric_type FROM sometable`
與Case 表達式不同,Case 語句根據以下條件執行一組語句中的一個:一個條件。它通常在儲存程式中用於執行條件操作。語法為:
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
例如:
CASE WHEN action = 'update' THEN UPDATE sometable SET column = value WHERE condition; WHEN action = 'create' THEN INSERT INTO sometable (column) VALUES (value); END CASE
Case 表達式與 Case 語句之間的主要差異在於它們的計算輸出。 Case 表達式傳回一個值,而 Case 語句執行一組語句。這種差異決定了它們適當的用例。
雖然 Case 表達式語法在 MySQL 版本中是一致的,但 Case 語句的語法在儲存程式和普通查詢之間可能有所不同。在普通查詢中使用時,關鍵字「END」被省略,而在儲存程式中,則需要關鍵字「END」。
**Stored Program**
CASE
WHEN ...
...
ELSE ...
結束案例
**Normal Query**
案例
何時....
...
否則...
案例
以上是以下是一些適合您文章的基於問題的標題,重點關注關鍵區別和用法: * MySQL 中的 Case 表達式與 Case 語句:哪一個最適合您的查詢? * MySQL 的案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!