基於欄位的邏輯判斷,可用於 `SELECT`、`UPDATE`、`DELETE`、`SET`、`IN`、`WHERE`、`ORDER BY`、`HAVING`。不控制程式流程,僅作為欄位值轉換。
比較單一運算式與一組值:
SELECT TOP 4
CASE EmployeeID
WHEN 1 THEN 'CareySon'
WHEN 2 THEN 'Jack'
WHEN 3 THEN 'Tom'
ELSE 'UNKNOW'
END AS NameList,
EmployeeID
FROM HumanResources.Employee
ORDER BY EmployeeID;
結果圖示(圖 1)。

別名寫法:`NameList = CASE ... END` 等效。`THEN` 後資料型別必須相容。建議保留 `ELSE`,否則不匹配回傳 `NULL`。
評估一組布林運算式:
CASE
WHEN 條件1 THEN 結果1
WHEN 條件2 THEN 結果2
ELSE 結果N
END
適用複雜條件判斷(如薪資區間分級)。
ORDER BY
CASE WHEN Status = 'Urgent' THEN 1
WHEN Status = 'Normal' THEN 2
ELSE 3 END;
實現自訂排序邏輯。