博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
case表达式详解
阅读量:7282 次
发布时间:2019-06-30

本文共 1720 字,大约阅读时间需要 5 分钟。

CASE 表达式

---------格式一---------CASE 条件表达式  WHEN 条件表达式结果1 THEN      语句段1  WHEN 条件表达式结果2 THEN     语句段2  ......  WHEN 条件表达式结果n THEN     语句段n  [ELSE 条件表达式结果]END;---------格式二---------CASE   WHEN 条件表达式1 THEN     语句段1  WHEN 条件表达式2 THEN     语句段2  ......  WHEN 条件表达式n THEN      语句段n  [ELSE 语句段]END;

 

例4:

1 DECLARE 2   V_grade char(1) := UPPER('&p_grade'); 3   V_appraisal VARCHAR2(20); 4 BEGIN 5   V_appraisal := 6   CASE v_grade 7     WHEN 'A' THEN 'Excellent' 8     WHEN 'B' THEN 'Very Good' 9     WHEN 'C' THEN 'Good'10     ELSE 'No such grade'11   END;12   DBMS_OUTPUT.PUT_LINE('Grade:'||v_grade||'  Appraisal: '|| v_appraisal);13 END;

 

例5:

 

1 DECLARE 2    v_first_name employees.first_name%TYPE; 3    v_job_id employees.job_id%TYPE; 4    v_salary employees.salary%TYPE; 5    v_sal_raise NUMBER(3,2); 6 BEGIN 7    SELECT first_name,   job_id,   salary INTO 8           v_first_name, v_job_id, v_salary 9    FROM employees WHERE employee_id = &emp_id;10    CASE11       WHEN v_job_id = 'PU_CLERK' THEN12          IF v_salary < 3000 THEN v_sal_raise := .08;13          ELSE v_sal_raise := .07;14          END IF;15       WHEN v_job_id = 'SH_CLERK' THEN16          IF v_salary < 4000 THEN v_sal_raise := .06;17          ELSE v_sal_raise := .05;18          END IF;19       WHEN v_job_id = 'ST_CLERK' THEN20          IF v_salary < 3500 THEN v_sal_raise := .04;21          ELSE v_sal_raise := .03;22          END IF;23       ELSE24          DBMS_OUTPUT.PUT_LINE('该岗位不涨工资: '||v_job_id);25    END CASE;26    DBMS_OUTPUT.PUT_LINE(v_first_name||'的岗位是'||v_job_id27                                     ||'、的工资是'||v_salary28                                     ||'、工资涨幅是'||v_sal_raise);29 END;

 

转载于:https://www.cnblogs.com/anzhi/p/7568363.html

你可能感兴趣的文章
用REDIS+PHP实现跨机器session共享
查看>>
rsyslog配置错误导致日志messages secure tallylog spooler 0byte空没有日志
查看>>
亲自测试可以用: sql server 2008 r2 安装提示license that key.......
查看>>
JAX-WS Client Application超时设置
查看>>
如何解决企业的虚拟UC和VDI问题?
查看>>
monitor session
查看>>
存储领域常见术语解释
查看>>
一次ogg extract抽取进程异常abending问题处理OGG-00446
查看>>
linux下使用split 来分割大文件
查看>>
mysql 基础
查看>>
狐狸坑蛋糕
查看>>
svn+apache for centos 5
查看>>
AIX如何查看文件系统分布在哪个物理磁盘上
查看>>
19.VLAN的几种划分
查看>>
一张图告诉你,只会jQuery还不够!!!!
查看>>
linux系统下清空所有arp缓存
查看>>
Java操作MongoDB
查看>>
sybase锁机制以及死锁现象避免
查看>>
Linux lvm逻辑卷的使用
查看>>
设计模式-单例模式学习中的疑问
查看>>