(使用scott账户下的表)

1.Oracle SQL语句的case语句写法:

--sql中的case用于分支判断并返回某个值。
select empno , ename, deptno ,
case deptno
when 10 then '总经办'
when 20 then '综管部'
when 30 then '市场部'
else '其他'
end
from emp; select empno , ename, deptno ,
case
when deptno=10 then '总经办'
when deptno=20 then '综管部'
when deptno=30 then '市场部'
else '其他'
end
from emp;

2.PL/SQL语句的case语句写法:

plsql中语法1:

case 字段|变量
when 比对值 then 执行语句...;
[when 比对值 then 执行语句...;]
[else 执行语句... ;]

plsql中语法2:

case
when 表达式 then 执行语句...;
[when 表达式 then 执行语句...;]
[else 执行语句... ;]
end case;

PLSQL中的case可用于分支判断并<返回>,也可以用于分支判断<执行>

用case判断,并把返回值赋给某变量


declare
v_dname varchar(20);
v_deptno int:=10;
begin
v_dname :=
case v_deptno
when 10 then '总经办' --返回值不要分号
when 20 then '综管部'
when 30 then '市场部'
else '其他'
end; --case结束时只用end
dbms_output.put_line(v_dname);
end; declare
v_dname varchar(20);
v_deptno int:=10;
begin
v_dname :=
case
when v_deptno=10 then '总经办'
when v_deptno=20 then '综管部'
when v_deptno=30 then '市场部'
else '其他'
end;
dbms_output.put_line(v_dname);
end;

用case判断,并在分支中给某变量赋值

declare
v_dname varchar(20);
v_deptno int:=10;
begin
case v_deptno
when 10 then v_dname:='总经办'; --分支判断中执行,分号结束
when 20 then v_dname:='综管部';
when 30 then v_dname:='市场部';
else v_dname:='其他';
end case; -- case结束时要end case;
dbms_output.put_line(v_dname);
end; declare
v_dname varchar(20);
v_deptno int:=10;
begin
case
when v_deptno=10 then v_dname:='总经办';
when v_deptno=20 then v_dname:='综管部';
when v_deptno=30 then v_dname:='市场部';
else v_dname:='其他';
end case;
dbms_output.put_line(v_dname);
end;

有待完善….

PL/SQL与SQL(Oracle)Case语句的更多相关文章

  1. SQL中IF和CASE语句

    IF表达式 IF(A,B,C): 如果 A 是TRUE (A <> 0 and A<> NULL),则 IF()的返回值为B; 否则返回值则为 C.IF() 的返回值为数字值或 ...

  2. SQL中的IF ELSE(CASE语句的使用)(转载)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  3. SQL中的IF ELSE(CASE语句的使用)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  4. ORACLE PL/SQL 实例精解之第五章 条件控制:CASE语句

    5.1 CASE语句 1. CASE语句具有如下结构 CASE SELECTOR WHEN EXPRESSION 1 THEN STATEMENT 1; WHEN EXPRESSSION 2 THEN ...

  5. Oracle笔记 八、PL/SQL跳转/判断/循环语句块

    --goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...

  6. PL/SQL语句块提高1+case语句

    set serveroutput on; declare --默认值的bianliang v_a ; -- v_b integer; --用stud.id 的类型 v_id stud.id%type; ...

  7. SQL CASE语句的使用

    SQL CASE语句的使用 CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值. CASE语句遍历条件并在满足第一个条件时返回值. 因此,一旦条件成立,它将短路, ...

  8. PL/SQL客户端中执行insert语句,插入中文乱码

    问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_ ...

  9. 不安装Oracle客户端使用PL/SQL连接服务器端Oracle

    从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做Instant Client Package. 将它安装好后,就不用再安装庞大的Oracle客户端,可以直接通过使用PL/SQL连接服务器 ...

随机推荐

  1. LeetCode Repeated String Match

    原题链接在这里:https://leetcode.com/problems/repeated-string-match/description/ 题目: Given two strings A and ...

  2. 5.7 Windows常用网络命令

    5.7 Windows常用网络命令 •ping •netstat •winipcfg/ipconfig •tracert •route 5.7.1 ping命令 •功能 –它是用来检查网络是否通畅或者 ...

  3. QAbstractSocket::connectToHost() called when already looking up or connecting/connected to

    tcpSocket_connect_HBJ->abort();//取消已有连接,重置套接字,tcpSocket_connect_HBJ是QTcpSocket类的对象 就不会报错了.

  4. 在装有windows跟ubuntu的机器上重新安装windows后修复ubuntu的grub

    本文只对没有单独用类似easyBCD这种软件单独设立启动分区的双系统,在重新安装win7之后,因为win7覆盖了ubuntu的grub,导致ubuntu无法启动的问题. (1)不管使用什么方法,首先需 ...

  5. Python collections系列之计数器

    计数器(counter) Counter是对字典(无序)类型的补充,用于追踪值的出现次数. 使用counter需要导入 collections 类 ps:具备字典的所有功能 + 自己的功能 1.创建一 ...

  6. IPv4 forwarding is disabled. Networking will not work.

    centos 7 docker 启动了一个web服务 但是启动时 报 WARNING: IPv4 forwarding is disabled. Networking will not work. 网 ...

  7. POJ1274(二分图最大匹配)

    The Perfect Stall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23356   Accepted: 104 ...

  8. mybatis 学习四(下) SQL语句映射文件增删改查、参数、缓存

    2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...

  9. Oracle 多表查询(1)

    一.基本概念 多表查询的语法如下: SELECT [DISTINCT] * | 字段 [别名] [,字段 [别名] ,…]FROM 表名称 [别名], [表名称 [别名] ,…][WHERE 条件(S ...

  10. Python函数(六)-嵌套函数

    嵌套函数就是在一个函数里再嵌套一个或多个函数 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" def First(): pri ...