阅读量:0
SQL CASE表达式有以下几种用法:
- 简单CASE表达式:
CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE resultN END
根据expression的值,依次匹配value1、value2等,如果匹配成功则返回对应的result值,如果没有匹配成功则返回resultN值。
- 搜索CASE表达式:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END
根据condition的值,依次匹配condition1、condition2等,如果匹配成功则返回对应的result值,如果没有匹配成功则返回resultN值。
- CASE表达式用于聚合函数:
SUM(CASE WHEN condition1 THEN 1 ELSE 0 END)
根据condition的值计算SUM函数的结果。
- CASE表达式用于更新数据:
UPDATE table SET column = CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE valueN END
根据condition的值更新column的值。
- CASE表达式用于连接查询:
SELECT column1, column2, CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END AS new_column FROM table
根据condition的值计算result,并将其作为new_column返回。