首页 Oracle Oracle case函数使用介绍

Oracle case函数使用介绍

这篇文章主要通过实例简要介绍case函数的用法,学习oracle的朋友可以参考下

1.创建测试表:


代码如下:DROP SEQUENCE student_sequence;
CREATE SEQUENCE student_sequence START WITH 10000 INCREMENT BY 1;


DROP TABLE students;
CREATE TABLE students (
id NUMBER(5) PRIMARY KEY,
first_name VARCHAR2(20),
last_name VARCHAR2(20),
major VARCHAR2(30),
current_credits NUMBER(3),
grade varchar2(2));


INSERT INTO students (id,first_name,last_name,major,current_credits,grade)
VALUES (student_sequence.NEXTVAL,’Scott’,’Smith’,’Computer Science’,98,null);


INSERT INTO students (id,’Margaret’,’Mason’,’History’,88,’Joanne’,’Junebug’,75,’Manish’,’Murgratroid’,’Economics’,66,null);


commit;


2.查看相应数据


代码如下:SQL> select * from students;


ID FIRST_NAME LAST_NAME MAJOR CURRENT_CREDITS GR
———- ——————– ——————– —————————— ————— —
10000 Scott Smith Computer Science 98
10001 Margaret Mason History 88
10002 Joanne Junebug Computer Science 75
10003 Manish Murgratroid Economics 66


3.更新语句


代码如下:update students
set grade = (
select grade from
(
select id,
case when current_credits > 90 then ‘a’
when current_credits > 80 then ‘b’
when current_credits > 70 then ‘c’
else ‘d’ end grade
from students
) a
where a.id = students.id
)
/


4.更新后结果


代码如下:SQL> select * from students;


ID FIRST_NAME LAST_NAME MAJOR CURRENT_CREDITS GR
———- ——————– ——————– —————————— ————— —
10000 Scott Smith Computer Science 98 a
10001 Margaret Mason History 88 b
10002 Joanne Junebug Computer Science 75 c
10003 Manish Murgratroid Economics 66 d

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/oracle/20200925/10321.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部