PL/SQL与SQL(Oracle)Case语句
(使用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语句的更多相关文章
- SQL中IF和CASE语句
IF表达式 IF(A,B,C): 如果 A 是TRUE (A <> 0 and A<> NULL),则 IF()的返回值为B; 否则返回值则为 C.IF() 的返回值为数字值或 ...
- SQL中的IF ELSE(CASE语句的使用)(转载)
大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...
- SQL中的IF ELSE(CASE语句的使用)
大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...
- ORACLE PL/SQL 实例精解之第五章 条件控制:CASE语句
5.1 CASE语句 1. CASE语句具有如下结构 CASE SELECTOR WHEN EXPRESSION 1 THEN STATEMENT 1; WHEN EXPRESSSION 2 THEN ...
- Oracle笔记 八、PL/SQL跳转/判断/循环语句块
--goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...
- PL/SQL语句块提高1+case语句
set serveroutput on; declare --默认值的bianliang v_a ; -- v_b integer; --用stud.id 的类型 v_id stud.id%type; ...
- SQL CASE语句的使用
SQL CASE语句的使用 CASE是一个控制流语句,其作用与IF-THEN-ELSE语句非常相似,可根据数据选择值. CASE语句遍历条件并在满足第一个条件时返回值. 因此,一旦条件成立,它将短路, ...
- PL/SQL客户端中执行insert语句,插入中文乱码
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual; 结果为AMERICAN_ ...
- 不安装Oracle客户端使用PL/SQL连接服务器端Oracle
从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做Instant Client Package. 将它安装好后,就不用再安装庞大的Oracle客户端,可以直接通过使用PL/SQL连接服务器 ...
随机推荐
- 教你用 Python 实现抖音热门表白软件
之前在群里看到有人发了一个抖音上很火的小视频,就是一个不正经的软件,运行后问你是不是愿意做我的朋友,但你没法点击到「不同意」!并且没办法直接关闭窗口! 很不正经,很流氓,有点适合我. 效果大概是这样的 ...
- LeetCode Reverse String II
原题链接在这里:https://leetcode.com/problems/reverse-string-ii/#/description 题目: Given a string and an inte ...
- BZOJ3075,LG3082 [USACO13MAR]项链Necklace
题意 Bessie the cow has arranged a string of N rocks, each containing a single letter of the alphabet, ...
- unity shader 内置变量
官网Manual:http://docs.unity3d.com/Manual/SL-UnityShaderVariables.html unity提供大量的内置变量,来供我们使用,主要包括一些 :矩 ...
- python模块导入的问题
从模块导入函数时,通常可以使用 import somemodule 或者 from somemodule import somefunction 或者 from somemodule import s ...
- hl7消息中和时间有关的字段的格式
hl7消息中有许多segment(段)包含时间类型的Field.常用的MSH, EVN, PID中的时间字段及其格式为: 1. MSH-7, Date/time Of Message为yyyyMMdd ...
- Apache Htpasswd生成和验证密码
Assuming you create the password using the following command and "myPassword" as the passw ...
- 分析诊断工具之五:Procedure Analyse优化表结构
一.Procedure Analyse PROCEDURE ANALYSE() ,在优化表结构时可以辅助参考分析语句.通过分析select查询结果对现有的表的每一列给出优化的建议. 利用此语句,MyS ...
- Vue开发模板简介
1. 传统发开模式的问题 用传统模式引用vue.js以及其他的js文件的开发方式,会产生一些问题. 基于页面的开发模式:传统的引用vue.js以及其他的js文件的开发方式,限定了我们的开发模式是 ...
- 2015.4.21 SetWindowPos函数用法
定义:[DllImport("user32.dll")] public static extern bool SetWindowPos(IntPtr hWnd, int hWndl ...