源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Oracle case函数使用介绍

  • 时间:2022-07-31 19:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Oracle case函数使用介绍
[b]1.创建测试表:[/b]
[u]复制代码[/u] 代码如下:
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, first_name, last_name, major, current_credits,grade)   VALUES (student_sequence.NEXTVAL, 'Margaret', 'Mason', 'History', 88,null); INSERT INTO students (id, first_name, last_name, major, current_credits,grade)   VALUES (student_sequence.NEXTVAL, 'Joanne', 'Junebug', 'Computer Science', 75,null); INSERT INTO students (id, first_name, last_name, major, current_credits,grade)   VALUES (student_sequence.NEXTVAL, 'Manish', 'Murgratroid', 'Economics', 66,null); commit;
[b]2.查看相应数据[/b]
[u]复制代码[/u] 代码如下:
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
[b]3.更新语句[/b]
[u]复制代码[/u] 代码如下:
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 ) /
[b]4.更新后结果[/b]
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部