使用case...when语句进行判断,其语法格式如下:

case<selector>

when<expression_1> then pl_sqlsentence_1;

when<expression_2> then pl_sqlsentence_2;

...

when<expression_n> then pl_sqlsentence_n;

[else plsql_sentence;]

end case;

具体例子如下:

declare v_season int:=3;autoinfo varchar2(50);
begincase v_season when 1 then autoinfo :=v_season||'季节包括1,2,3月份';  when 2 then autoinfo :=v_season||'季节包括4,5,6月份';  when 3 then autoinfo :=v_season||'季节包括7,8,9月份';when 4 then autoinfo :=v_season||'季节包括10,11,12月份';elseautoinfo :=v_season||'季节不合法';end case;dbms_output.put_line(autoinfo);
end;   

输出结果:

3季节包括7,8,9月份

在使用case...when 时候,只需要写一个case就ok,不可以写多个,错误写法如下:

declare v_season int:=3;autoinfo varchar2(50);
begincase v_season when 1 then autoinfo :=v_season||'季节包括1,2,3月份'; case v_season when 2 then autoinfo :=v_season||'季节包括4,5,6月份'; case v_season when 3 then autoinfo :=v_season||'季节包括7,8,9月份';case v_seasonwhen 4 then autoinfo :=v_season||'季节包括10,11,12月份';elseautoinfo :=v_season||'季节不合法';end case;dbms_output.put_line(autoinfo);
end;   

如果这样写的话,语法是错误的,在运行pl/sql块时候会出现错误。

Oracle中是用case...when语句进行判断相关推荐

  1. Oracle一张表写多个触发器,详解oracle中通过触发器记录每个语句影响总行数

    详解oracle中通过触发器记录每个语句影响总行数 需求产生: 业务系统中,有一步"抽数"流程,就是把一些数据从其它服务器同步到本库的目标表.这个过程有可能 多人同时抽数,互相影响 ...

  2. 【DB笔试面试623】在Oracle中,给出下面语句的可能的优化思路。

    ♣ 题目部分 在Oracle中,给出下面语句的可能的优化思路. 1CREATE TABLE T_YH_20170705_LHR( X INT); 2BEGIN 3 FOR I IN 1 .. 1000 ...

  3. Oracle中两个重要的语句

    记录两条Oracle中的重要语句 //可以根据表名来查出表的所有者 select * from all_tables where table_name = 'TF_B_USER';//查出当前用户的所 ...

  4. oracle中删除yuj_oracle删除表语句

    删除表(记录和结构)的语名delete   ----   truncate      ---- drop DELETE (删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注意 ...

  5. oracle中DECODE与CASE的用法区别

    对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...

  6. oracle的分支语句,oracle中的分支与循环语句

    分支语句 if的三种写法 一, if 2 < 1 then dbms_output.put_line('条件成立'); end if; 二, if 2 < 1 then dbms_outp ...

  7. Oracle中如何解决动态SQL语句过长的问题

    Oracle的varchar2类型最大长度为4000,所有,如果动态sql语句过长,就没有办法在一个varchar2变量中存储整个语句,导致execute immediate本地动态sql方式无法使用 ...

  8. Oracle查询表的ddl,Oracle中获取TABLE的DDL语句的方法

    获取表的DDL的方法 在获取表的DDL的时候,可以使用多种方法进行获取: 1.利用 DBMS_METADATA.GET_DDL,获取表的 DDL 语句 2.imp.indexfile 3.impdp. ...

  9. oracle中关于删除表purge语句和闪回语句的基本使用

    语法: drop table ... purge; 例子:drop table test purge; purge是直接删除表,不保留到回收站,10G开始默认drop表式改名移动到回收站; 闪回(fl ...

最新文章

  1. 用python画烟花-用python实现漂亮的烟花demo
  2. 为什么同样是上亿的并发,购票系统就要比电商系统技术挑战更大?
  3. Gym 100507G The Debut Album (滚动数组dp)
  4. 线性电源与开关电源的区别
  5. windows快速打开命令窗口方式[利刃篇]
  6. case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑
  7. 190315每日一句
  8. 建模国赛2016A-系泊系统的设计优秀论文
  9. DOS窗口的一些简单介绍
  10. 文字游戏——《小黑屋》
  11. 【报告分享】 2020国人旅游出行研究报告-企鹅智库(附下载)
  12. 《SEM长尾搜索营销策略解密》一一2.2 互联网里的长尾更具影响力
  13. 如果局域网当中两台电脑互相ping不通
  14. Android本地数据存储:Shared Preferences安全风险浅析
  15. 关于PPP拨号的接入点
  16. Nvicat Premium连接腾讯云数据库TDSQL-C(原CynosDB)
  17. python文本编辑器下载_python文本编辑器下载-TextPad下载v 8.2.0最新免费版-西西软件下载...
  18. 2021年R1快开门式压力容器操作最新解析及R1快开门式压力容器操作证考试
  19. Mybatis从入门到精通上篇
  20. Unity中PICO G2 4K开发环境配置说明

热门文章

  1. 谷歌开源了量子算法框架CIRQ,拥抱NISQ新时代
  2. 李飞飞CVPR最新论文 | 「文本转图」效果优化可多一步:物体关系描述
  3. 腾讯还在提高围棋AI绝艺的棋力,柯洁说已经超过当年AlphaGo
  4. 这个假期,百度差一点点点重回巅峰
  5. Tomcat配置HTTPS
  6. Spring的AOP面向切面编程
  7. apache、nignx等日志分析工具
  8. 【Linux远程管理】RDP协议远程管理
  9. 02-C#入门(枚举、结构等)
  10. 解决office2003无法卸载的问题