Oracle数据库中的CASE WHEN语句是一种条件判断语句,主要用于根据不同的条件来执行不同的操作,是Oracle数据库中常用的一种语句。

CASE WHEN语句的基本语法格式如下:

CASE 
  WHEN 条件1 THEN 执行语句1
  WHEN 条件2 THEN 执行语句2
  .
  .
  .
  ELSE 执行语句N
END

CASE WHEN语句的使用主要分为两种情况:

1. 使用CASE WHEN语句进行单列的条件判断,这种情况下,CASE WHEN语句的使用格式如下:


SELECT 列1, 列2, 
       CASE 列3 
          WHEN 条件1 THEN 执行语句1 
          WHEN 条件2 THEN 执行语句2 
          ELSE 执行语句N 
       END 
FROM 表名 
WHERE 条件;

2. 使用CASE WHEN语句进行多列的条件判断,这种情况下,CASE WHEN语句的使用格式如下:


SELECT 列1, 列2, 
       CASE 
          WHEN 条件1 THEN 执行语句1 
          WHEN 条件2 THEN 执行语句2 
          ELSE 执行语句N 
       END 
FROM 表名 
WHERE 条件;

CASE WHEN语句在Oracle数据库中的应用非常广泛,主要用于查询数据时,根据不同的条件来获取不同的结果,可以极大程度的提高查询效率。

例如,我们要查询员工表中的员工的年龄,如果年龄小于20岁,则显示“少年”,如果年龄大于20岁小于40岁,则显示“青年”,如果年龄大于40岁,则显示“中年”,则可以使用如下的SQL语句来实现:


SELECT 员工名, 
       CASE 
          WHEN 年龄 < 20 THEN '少年' 
          WHEN 年龄 >= 20 AND 年龄 < 40 THEN '青年' 
          ELSE '中年' 
       END 
FROM 员工表 
WHERE 条件;

CASE WHEN语句在Oracle数据库中的应用非常广泛,可以根据不同的条件来执行不同的操作,是Oracle数据库中常用的一种语句。