更新时间:2024-07-27 GMT+08:00

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;