SQL CASE表達式有以下幾種用法:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE resultN
END
根據expression的值,依次匹配value1、value2等,如果匹配成功則返回對應的result值,如果沒有匹配成功則返回resultN值。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
根據condition的值,依次匹配condition1、condition2等,如果匹配成功則返回對應的result值,如果沒有匹配成功則返回resultN值。
SUM(CASE WHEN condition1 THEN 1 ELSE 0 END)
根據condition的值計算SUM函數的結果。
UPDATE table
SET column = CASE
WHEN condition1 THEN value1
WHEN condition2 THEN value2
...
ELSE valueN
END
根據condition的值更新column的值。
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END AS new_column
FROM table
根據condition的值計算result,并將其作為new_column返回。