`
as619864232
  • 浏览: 327616 次
社区版块
存档分类
最新评论

oracle 中的 CASE

阅读更多

oracle 中的 CASE 可以作为一个选择控制语句,可以根据条件从多个分支选择相应的执行动作,内部至少存在一个分支。也可以作为表达式使用,返回一个值。

 

CASE 的语法格式

 

CASE [selector]
  when 表达式1 then
    执行语句1;
  when 表达式2 then
    执行语句2;
  when 表达式3 then
    执行语句3;
  [else 语句序列 N]
    执行语句 N;
END CASE;
 

 

declare
begin
  case
    when 1=1 then
      raise_application_error(-20001,1);
    when 2=1 then
      raise_application_error(-20001,2);
    when 3=1 then
      raise_application_error(-20001,3);
  end case;
end;
--弹出1

declare
  res number:=2;
begin
  case res
    when 1 then
      raise_application_error(-20001,1);
    when 2 then
      raise_application_error(-20001,2);
    when 3 then
      raise_application_error(-20001,3);
    else
      raise_application_error(-20001,0);
  end case;
end;
--弹出 2

declare
  res number:=5;
begin
  case res
    when 1 then
      raise_application_error(-20001,1);
    when 2 then
      raise_application_error(-20001,2);
    when 3 then
      raise_application_error(-20001,3);
  end case;
end;
--报错,ELSE 块可以省略,但没找到匹配时,就报错

 

使用 CASE 给变量赋值

 

declare
  res number;
begin
  res:=
  case
    when 1=1 then
      1                 --只能由一个值,且没分号
    when 2=1 then
      2
    when 3=1 then
      3
  end;   --END 后面没有 CASE
  raise_application_error(-20001,res);
end;
--弹出1
分享到:
评论

相关推荐

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    在 Oracle 数据库中,CASE WHEN 语句可以分为两种格式:简单 Case 函数和 Case 搜索函数。简单 Case 函数的语法是: ```sql CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' END ``` Case 搜索函数的语法是: ```...

    oracle where case when where后面跟case when

    在Oracle数据库中,`WHERE`子句是SQL查询语句的一部分,用于指定查询条件,而`CASE WHEN`语句则是一种条件表达式,允许我们基于不同的条件返回不同的值。将`CASE WHEN`嵌套在`WHERE`子句中,可以实现更复杂的逻辑...

    oracle case语句的介绍

    在 Oracle 数据库中,CASE 语句是一种非常实用且灵活的条件判断表达式,它可以用于根据不同的条件返回不同的值。CASE 语句可以分为两种类型:简单 CASE 语句和搜索 CASE 语句。 - **简单 CASE 语句**(Simple CASE ...

    Oracle GoldenGate Case Study

    本文将基于“Oracle GoldenGate Case Study”的标题和描述,深入探讨GoldenGate如何解决异构数据库整合难题,以及它在现代企业数据管理中的关键作用。 ### 异构数据库整合:GoldenGate的解决方案 在当今复杂的IT...

    Oracle_case_when_用法

    在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位

    [数据库] Oracle使用CASE判断解决多值问题1

    总的来说,Oracle的CASE WHEN语句为我们提供了一种强大的工具,可以在数据库查询阶段完成复杂的逻辑判断,避免了在后端程序中进行大量的数据处理,提高了系统的效率。通过熟练运用CASE WHEN,我们可以更好地应对多值...

    oracle-case-when的使用方法.doc

    oracle-case-when的使用方法.doc

    一次简单的Oracle恢复Case实战记录

    在这种情况下,错误消息中的"arguments: [6856]"和"[4194]"是Oracle用于识别特定错误的代码,但在这里它们没有提供足够的信息来直接解决问题。 解决这个问题的一个常见方法是屏蔽回滚段(Rollback Segment)。回滚...

    case乱码解决

    mysql 中case when 遇到乱码解决。查询语句中含有case引起中文乱码解决方法

    Oracle中查找和删除重复记录方法

    删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...

    金融道德关于oracle case的

    总的来说,Oracle对PeopleSoft的敌意收购展示了在企业并购中,除了经济利益外,道德考量和法律合规同样至关重要。企业在制定策略时,不仅要考虑业务目标,还要关注其对竞争环境、股东权益以及公众形象的影响,以维护...

    Oracle中实现datadiff函数

    ### Oracle中实现datadiff函数 #### 背景与目的 在Oracle数据库中,并未直接提供`DATEDIFF`函数来计算两个日期之间的差异。这与SQL Server等其他数据库系统有所不同,在那些系统中,`DATEDIFF`是一个常用且非常...

    Oracle big data case - Oracle No sql 实战

    Oracle big data case - Oracle No sql 实战。 How to access NoSQL Data from Oracle Database in Hadoop platform

    Oracle case函数使用介绍

    Oracle CASE 函数是一种在 SQL 查询中进行条件判断的表达式,它允许你在同一查询中根据不同的条件设置不同的返回值。这个函数在处理复杂的数据转换和分析时非常有用,尤其是在需要根据特定条件设置列的值时。以下是...

    oracle姓名中文转全拼函数

    例如,对于“恒”字,它的Unicode编码是5EE8,因此需要在代码中添加一个case语句,将5EE8映射为'heng'。 另一个问题是汉字的多音字现象。在某些情况下,同一个汉字在不同语境下有不同的读音,如“查”字作为姓氏时...

    sqlserver-oracle 数据类型对照

    - `DECODE`在Oracle中用于条件判断,SQL Server中可使用`CASE`或`IIF`表达式替代。 - `COALESCE`在Oracle和SQL Server中用于返回非NULL的第一个参数。 - `CURRVAL`和`NEXTVAL`在Oracle中处理序列,SQL Server中...

Global site tag (gtag.js) - Google Analytics