两种形式
两种形式
-- 简单 CASE:等值匹配
SELECT name,
CASE level WHEN 1 THEN '低' WHEN 2 THEN '中' ELSE '高' END AS level_name
FROM tasks;
-- 搜索 CASE:任意条件
SELECT score,
CASE WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
ELSE 'C' END AS grade
FROM exams;| 简单 CASE | CASE expr WHEN v THEN r … 用等值比较 |
|---|---|
| 搜索 CASE | CASE WHEN cond THEN r … 依条件匹配 |
| ELSE | 缺省返回 NULL |
| 匹配 | 只返回首个命中的分支 |