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返回。