了解 MySQL CASE:綜合指南
使用 SQL 資料庫時,操作資料以提取有意義的見解至關重要。 CASE 語句提供了有條件執行 SQL 語句的強大工具,可讓您執行複雜的資料轉換和評估。
揭開CASE 語法
SQL CASE 語句如下結構化格式:
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
以下是如何利用CASE 來實現您想要的結果:
範例:分配角色訂單
假設您user_role 表中有一個字段,其中包含「經理」、「兼職」等角色。您想要建立一個新欄位 role_order,根據角色指派數字。
使用CASE 的解決方案:
CASE WHEN user_role = 'Manager' THEN 5 WHEN user_role = 'Part Time' THEN 3 ELSE -1 -- Handle unknown roles END CASE
此CASE 語句的功能類似於switch 語句,根據預先定義的條件評估user_role 值並分配對應的role_order編號。
理解 CASE 實作
CASE 與 IF 語句不同,它是一個綜合評估語句。它首先評估第一個 WHEN 條件並執行相應的結果。如果不符合條件,則繼續下一個 WHEN 條件,直到找到符合的條件。如果沒有 WHEN 條件匹配,則可選的 ELSE 子句提供預設結果。
用於評估單一值的簡化CASE 語法
評估單一值時可以使用CASE 的替代語法單一值:
CASE value WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE default_result] END CASE
此語法簡化了檢查一個特定值時的語句,例如檢查user_role 值的範例。
以上是MySQL中如何使用CASE語句依照條件賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!