Oracle中decode怎么用
admin
2023-04-22 06:23:08
0

语法结构如下:
decode (expression, sch_1, res_1)
decode (expression, sch_1, res_1, sch_2, res_2)
decode (expression, sch_1, res_1, sch_2, res_2, ...., sch_n, res_n)
decode (expression, sch_1, res_1, default)
decode (expression, sch_1, res_1, sch_2, res_2, default)
decode (expression, sch_1, res_1, sch_2, res_2, ...., sch_n, res_n, default)
比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

select name,sub,decode(sub, 'chinese',score,0) from student_score;
decode函数的功能在于它不但可以判断常值,同样可以判断字段.以上语句:
当科目为chinese时,选择score字段对应的值,而非chinese科目,其对应的score值都为0

select name,
sum(decode(subject, 'Chinese', nvl(score, 0), 0)) "Ch",
sum(decode(subject, 'Mathematics', nvl(score, 0), 0)) "Math",
sum(decode(subject, 'English', nvl(score, 0), 0)) "En"
from xxx group by name;   ---行转列

decode函数同样可以当做条件使用,如: where score= decode(subject, 'Chinese',score)

等同于以下case when

select name,
sum(case when subject='Ch'
then nvl(score,0)
else 0
end) "Ch",
sum(case when subject='Math'
then nvl(score,0)
else 0
end) "Math",
sum(case when subject='En'
then nvl(score,0)
else 0
end) "En"
from xxx group by name;

相关内容

热门资讯

玩家最新攻略“天天十三水是不是... 家人们!今天小编来为大家解答天天十三水透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
今日重磅消息“掌心麻将圈开挂神... 网上科普关于“掌心麻将圈有没有挂”话题很是火热,小编也是针对掌心麻将圈作*弊开挂的方法以及开挂对应的...
我来教教您“拱趴游戏辅助器?”... 有 亲,根据资深记者爆料拱趴游戏是可以开挂的,确实有挂(咨询软件无需打开...
【第一消息】“九点麻将开挂神器... 家人们!今天小编来为大家解答九点麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
重磅消息“皇豪互娱牛牛真的有挂... 有 亲,根据资深记者爆料皇豪互娱牛牛是可以开挂的,确实有挂(咨询软件无需...
最新引进“蜀山四川麻将到底是不... 有 亲,根据资深记者爆料蜀山四川麻将是可以开挂的,确实有挂(咨询软件无需...
月租低流量多的电信卡,打游戏不... 办卡关注 微 信 公 众 号 :找卡乐园 这里是专为你打造的流量卡服务站,既能帮你揭开流量卡市场的各...
搏兔数智申请数据传输防泄露方法... 国家知识产权局信息显示,搏兔数智(深圳)企业家服务中心有限公司申请一项名为“一种数据传输防泄露的方法...
今日重大通报“新广西老友麻将有... 有 亲,根据资深记者爆料新广西老友麻将是可以开挂的,确实有挂(咨询软件无...
终于了解“乐乐围棋入门有挂吗?... 网上科普关于“乐乐围棋入门有没有挂”话题很是火热,小编也是针对乐乐围棋入门作*弊开挂的方法以及开挂对...