case when 的用法详解

回答
爱扬教育

2022-04-25

  • 相关推荐
CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句。
格式:
CASE WHEN condition THEN result
[WHEN...THEN...]
ELSE result
END
condition是一个返回布尔类型的表达式,如果表达式返回true,则整个函数返回相应result的值。

扩展资料

  简单CASE WHEN函数:

  CASE SCORE WHEN 'A' THEN '优' ELSE '不及格' END

  CASE SCORE WHEN 'B' THEN '良' ELSE '不及格' END

  CASE SCORE WHEN 'C' THEN '中' ELSE '不及格' END

  等同于,使用CASE WHEN条件表达式函数实现:

  CASE WHEN SCORE = 'A' THEN '优'

  WHEN SCORE = 'B' THEN '良'

  WHEN SCORE = 'C' THEN '中' ELSE '不及格' END

  THEN 后边的值与 ELSE 后边的值类型应一致,否则会报错。如下:

  CASE SCORE WHEN 'A' THEN '优' ELSE 0 END

  '优'和0数据类型不一致则报错:

  [Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER