执行如下sql:select value from table where id=1查询出来的值可能大于0也可能小于0。我现在想把小于0的结果全都改成0输入。这个用decode函数怎么做的?好像是select decode(value...?) from table where id=1select case when value<=0 then 0 else value end from table where id=1那如果在一个查询语句中同时查询两个安段的情况应该怎么写呢?比如:select a,b from table,对b进行判断
3 回答
繁花不似锦
TA贡献1851条经验 获得超4个赞
首先decode函数是Oracle独有的判断函数!
//其实就是一个简单的判断函数,比如字段的值为adecode(字段,'a','输出是a','是a','输出是b','否则输出都不是'); //下面我拿EMP表的SCOTT来示例代码:SELECT DECODE(ename,'是SCOTT','Yes','不是SCOTT','No','都不是')FROM emp WHERE ename = UPPER('scott'); |
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
首先decode函数是Oracle独有的判断函数!
//其实就是一个简单的判断函数,比如字段的值为a
decode(字段,'a','输出是a','是a','输出是b','否则输出都不是');
//下面我拿EMP表的SCOTT来示例代码:
SELECT
DECODE(ename,'是SCOTT','Yes','不是SCOTT','No','都不是')
FROM emp
WHERE ename = UPPER('scott');
繁星coding
TA贡献1797条经验 获得超4个赞
不用这个函数也可以实现:
select case when value<=0 then 0 else value end from table where id=1
- 3 回答
- 0 关注
- 252 浏览
添加回答
举报
0/150
提交
取消
