首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL oracle添加一个值

SQL oracle添加一个值
EN

Stack Overflow用户
提问于 2016-10-23 10:21:00
回答 2查看 86关注 0票数 3

比方说,我想选择有奖学金的学生,再加上150英镑,而那些没有奖学金的学生增加100英镑。我试过:

选择名字,scholarship+150作为“新奖学金”从学生那里的法氏囊不是零联合选择名称,scholarship+100作为“新奖学金”从学生那里的法氏囊为零;

但只有那些获得奖学金的人才能获得新的价值,.Can,请你帮助我

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-23 10:31:16

如果nvl(scholarship,0)奖学金可能为NULL,则将其替换为或coalesce(scholarship,0)

代码语言:javascript
运行
复制
select scholarship + case when bursa is not null then 150 else 100 end ...

代码语言:javascript
运行
复制
select scholarship + decode (bursa,null,100,150) ...

代码语言:javascript
运行
复制
select scholarship + nvl2 (bursa,150,100) ...
票数 4
EN

Stack Overflow用户

发布于 2016-10-23 11:08:52

您的查询应该运行良好,除非您可能遇到了以下原因

1)理由1:

算术运算NULL+Integer_constant得到NULL。简单地说,给Null增加价值会给你带来Null。

2)理由2:

Union消除重复值”。您可以使用Union All进行检查。

代码语言:javascript
运行
复制
select name,scholarship+150 as "New scholarship" from students where bursa is not null 
union all
select name,scholarship+100 as "New scholarship" from students where bursa is null;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40201849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档