在SQL中,CASE表达式用于根据条件选择不同的结果。
一般情况下,CASE表达式有两种形式:简单CASE表达式和搜索CASE表达式。
简单CASE表达式: 简单CASE表达式是根据一个具体的表达式的值来选择结果。它的语法如下:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
表达式的值会与每个WHEN子句中的值进行比较,如果匹配则返回对应的结果,如果没有匹配到任何WHEN子句,则返回ELSE子句中的结果。如果没有提供ELSE子句,则返回NULL。
搜索CASE表达式: 搜索CASE表达式是根据多个条件进行选择结果。它的语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
每个WHEN子句中的条件会逐个进行判断,如果条件为真则返回对应的结果,如果没有条件为真,则返回ELSE子句中的结果。如果没有提供ELSE子句,则返回NULL。
CASE表达式还可以嵌套使用,可以在WHEN或ELSE子句中使用其他CASE表达式来实现更复杂的条件判断。
使用CASE表达式可以实现在查询中进行条件判断,根据不同的条件选择不同的结果,从而丰富查询的结果集。