CASE搜索函数
功能描述
按指定顺序为每个WHEN子句的boolean_expression求值。返回第一个取值为TRUE的boolean_expression的result_expression。
语法格式
1
|
CASE WHEN boolean_expression THEN result_expression [...n] [ELSE else_result_expression] END; |
关键字
boolean_expression:可以包含子查询,但整个boolean_expression表达式返回值只能是布尔类型。
注意事项
如果没有取值为TRUE的Boolean_expression,则当指定ELSE子句时,DLI将返回else_result_expression;当没有指定ELSE子句时,返回NULL值。
示例
对表student进行查询,返回字段name及与score对应的结果,score大于等于90返回EXCELLENT,score在(80,90)之间的返回GOOD,否则返回BAD。
1
|
SELECT name, CASE WHEN score >= 90 THEN 'EXCELLENT' WHEN 80 < score AND score < 90 THEN 'GOOD' ELSE 'BAD' END AS level FROM student; |