oracle菜鸟学习之 select case when的使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,[toc]oracle菜鸟学习之 select case when的使用格式语法case when 条件1 then action1 when 条件2 then action2 wh
千家信息网最后更新 2025年02月01日oracle菜鸟学习之 select case when的使用
[toc]
oracle菜鸟学习之 select case when的使用
格式语法
case when 条件1 then action1 when 条件2 then action2 when 条件3 then action3 when 条件N then actionN else actionend
例子
判断现在是几月
SQL> select case substr('20181118',5,2) 2 when '08' then '8yue' 3 when '09' then '9yue' 4 when '10' then '10yue' 5 when '11' then '11yue' 6 when '12' then '12yue' 7 else 'other' 8 end 9 from dual;CASESUBSTR('201---------------11yueSQL>
扩展知识:substr 截取
sbustr('str',x,y)
str:字符串
x:从x位开始
y:x位的后y位结束
SQL> select substr('123456',3,2) from dual;SUBSTR------34SQL>
实验
实验表如下:
sno:学号
km:科目
score:成绩
grade:等级
create table score(sno number,km varchar2(8),score int,grade varchar2(4) default null);insert into score(sno,km,score) values(1,'yw',65);insert into score(sno,km,score) values(2,'sx',76);insert into score(sno,km,score) values(3,'yw',86);insert into score(sno,km,score) values(4,'yw',94);
查看表
SQL> select * from score; SNO KM SCORE GRADE---------- ------------------------ ---------- ------------ 1 yw 65 2 sx 76 3 yw 86 4 yw 94
问题:给学生成绩分等级,优秀、良好、中等、合格
思路:先查询学号对应的成绩
SQL> select sno,case 2 when score >=90 then 'A' 3 when score >=80 then 'B' 4 when score >=70 then 'C' 5 when score >=60 then 'D' 6 else 'F' 7 end 8 from score; SNO CAS---------- --- 1 D 2 C 3 B 4 A
思路:怎么将等级插入表格?
update score set grade = ?
思路:选出等级的值
select grade from(select sno,case when score >=90 then 'A' when score >=80 then 'B' when score >=70 then 'C' when score >=60 then 'D' else 'F' end as grade 9 from score);GRADE----------DCBA
思路:grade不能等于一个集合,只能等于某个值,怎么选出某个值?
从图中可以看出,如果我把第一个表取别名为a,但a.sno和score.sno相等的时候,grade的值唯一
update score set grade = (select grade from(select sno,case when score >=90 then 'A' when score >=80 then 'B' when score >=70 then 'C' when score >=60 then 'D' else 'F' end as grade from score) a where a.sno=score.sno );4 rows updated.
查看更新之后的表
SQL> select * from score; SNO KM SCORE GRADE---------- ------------------------ ---------- ---------- 1 yw 65 D 2 sx 76 C 3 yw 86 B 4 yw 94 A
思路
条件
成绩
等级
学号
选出
实验
习之
菜鸟
优秀
良好
例子
字符
字符串
学生
时候
格式
知识
科目
表格
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器托管在哪好
打开数据库配置管理器
软件开发生命周期在时间上
杭州无风扇工控机服务器
加强网络安全管理措施的建议
达梦数据库设置密码复杂性
云南服务器集群
北邮网络安全专业课
梅州市网络安全周
中国网络安全领先
手机软件开发底层
西门子服务器怎么开机箱
网站用什么服务器好
福州网络安全培训费用
草根王互联网科技
数据库中怎么建立公共关系
软件开发包装简历
软件开发方法主要有
护苗网络安全优秀班会总结
sql 数据库是什么意思
怎么跳过游戏服务器限制
华安证券招聘 合肥软件开发
2021网络安全排行拓扑图
农行软件开发中心成都研发部
网络安全学习心得300
福建学校卫星授时服务器虚拟主机
杨浦区网络技术开发哪家好
计算机网络技术2年制
数据库原理pdf孔丽红
桓台瓷砖软件开发