CASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。

注意点:

  1、以CASE开头,以END结尾

  2、分支中WHEN 后跟条件,THEN为显示结果

  3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加

  4、END 后跟别名

  CASE有两种表达式:

  1. 简单CASE表达式,使用表达式确定返回值.

  语法:

CASE search_
  WHEN expression1 THEN result1
  WHEN expression2 THEN result2
  ...
  WHEN expressionN THEN resultN
  ELSE default_result
  END

     

  2. 搜索CASE表达式,使用条件确定返回值.

  语法:

CASE
  WHEN condition1 THEN result1
  WHEN condistion2 THEN result2
  ...
  WHEN condistionN THEN resultN
  ELSE default_result
END

举例一:

select  LX,
CASE
WHEN LX='01' THEN '转收'
WHEN LX='02' THEN '转付'
end ww
from 某个表

实际效果如下:

Oracle case when用法_when

举例二:

select  
CASE
WHEN LX='01' THEN '转收'
WHEN LX='02' THEN '转付'
end ww
from 某个表

实际效果如下:

Oracle case when用法_sql_02

小注:注意例子一中LX后面有个逗号,不要忽略。