SQL中case when then else end用法
阿新 • • 發佈:2018-11-20
一、簡單用法
case具有兩種格式。簡單case函式和case搜尋函式。
簡單case函式
SELECT s.s_id, s.s_name, s.s_sex, CASE WHEN s.s_sex = '1' THEN '男' WHEN s.s_sex = '2' THEN '女' ELSE '其他' END as sex, s.s_age, s.class_id FROM t_b_student s WHERE 1 = 1
case搜尋函式
SELECT s.s_id, s.s_name, s.s_sex, CASE s.s_sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END as sex, s.s_age, s.class_id FROM t_b_student s WHERE 1 = 1
這兩種方式,可以實現相同的功能。簡單case函式的寫法相對比較簡潔,但是和case搜尋函式相比,需要在case關鍵字後面加上需要匹配的屬性欄位,功能方面會有些限制,比如寫判定式。
還有一個需要注重的問題,case函式只返回第一個符合條件的值,剩下的case部分將會被自動忽略。