中易网

sql语句中,decode和case when语句的区别有哪些?并且哪个更实用?

答案:2  悬赏:50  
解决时间 2021-02-15 07:00
sql语句中,decode和case when语句的区别有哪些?并且哪个更实用?
最佳答案
DECODE Oracle 特有
CASE WHEN Oracle , SQL Server, MySQL 都可用。

科目表: sid name;
个人信息表: tid name sex age;
成绩表: id score sid tid;

CASE WHEN 可以 等于的条件, 也可以 大于等于 之类的条件。
而 decode 好像只能 等于的条件。

下面是一个 CASE WHEN 的例子:

SELECt
tid as 学号,
COUNT(sid) AS 选择几种科目,
SUM( CASE WHEN score >=60 THEN 1 ELSE 0 END )
/ COUNT(score) AS 及格率
FROM
成绩表
GROUP BY
tid
HAVINg
COUNT(sid) >= 2
全部回答
太长了,但是看到一个问题,case when,要求返回的类型必须一直。 你看你的第一个case when语句 (case when to_char(statistic_date-payrefdate>=0) and to_char(statistic_date-payrefdate<90) then sum(a.planfee-nvl(c.payreffee,0)) else &apos;&apos; end) then后边返回的是一个求和,那么类型肯定是数字,而else分支,其他情况下居然返回了空字符串,字符型。这两个不一致,首先就错了。你先改了这些吧。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
8÷3.14=多少,要过程
微星770 2g显卡加i5 6500要多大电源
《民族团结》,后改为《中国各民族》的蒙文期
中国移动玲珑通讯特约代理点地址有知道的么?
鑫鑫综合商店在哪里啊,我有事要去这个地方
显示器的画面有点倾斜怎么回事
元亨综合商店我想知道这个在什么地方
四川省艺术类历年考研政治英语分数线是否在同
武汉传媒学院-表演系地址在哪,我要去那里办
高三学生搞班会,应该以什么为主题?要有意思有
胖女生穿及膝袜显瘦吗
双鸭山市兽医院药店地址在什么地方,想过去办
iOS10.2.1正式版什么时候出?苹果iOS10.2.1正
聚德意北京烤鸭店(首山店)在哪里啊,我有事要
我的成功我的快乐300字作文怎么写
推荐资讯
芦花路/五环(路口)地址在什么地方,想过去办
签订无固定期限劳动合同时,应注意什么
在网上找黑客做事 要注意哪些才能不被骗
日发服饰这个地址在什么地方,我要处理点事
在下面每个算式的方框里填上相同的两位数,使
首师大美术教育和美术史哪个好就业
2017年春节怎么调休 2017年春节哪天调休上班
有木有懂佛珠的,请问这串珠是什么木材?
“受益”这个词语怎造句
去韩国旅游几天大概要多少钱
西安的产科 到底哪个好?平时产检和生产时候
存折取钱不是本人去取 可以不
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?