用法如下:
復制代碼
SELECT
s.s_id,
s.s_name,
s.s_sex,
CASE
WHENs.s_sex='1'THEN'男'
WHENs.s_sex='2'THEN'女'
ELSE'其他'
ENDassex,
s.s_age,
s.class_id
FROM
t_b_students
WHERE
1=1
這兩個結果是壹樣的:
需要註意的壹點是,Case函數只返回第壹個限定值,其余的Case將被自動忽略。
擴展資料:
Case有兩種格式:簡單函數和Case搜索函數。
簡單的例子功能:
CASEsex
WHEN‘1’THEN‘男’
WHEN‘0’THEN‘女’
ELSE‘其他’END
Case搜索函數:
CASEWHENsex=‘1’THEN‘男’
WHENsex=‘0’THEN‘女’
ELSE‘其他’END
顯然簡單的Case函數天生簡潔,但它們只適用於這種單字段單值比較,而Case搜索函數具有適用於所有比較用例的優勢。
另壹個需要註意的問題是,在Case函數滿足了某個條件之後,其余的條件將被自動忽略,這樣即使滿足了多個條件,在執行過程中也只能識別第壹個條件。
當使用CASEWHEN時,您可以將其視為沒有字段名的字段,字段值是有條件的,並且在需要使用字段名時可以使用as來定義別名。