oracle 如果值等于0返回1 如果不等于0返回值本身,怎么实现?

如题所述

select decode(字段名,0,1,字段名) from 表名;

或者

select case when 字段名=0 then 1 else 字段名 end from 表名;
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-23
int XXXXXXXX()
{
int re = 0;
……
……
if(0 == re)
{
re=1;

}
return re;
}
是这个吗?

oracle 如果值等于0返回1 如果不等于0返回值本身,怎么实现?_百度...
或者 select case when 字段名=0 then 1 else 字段名 end from 表名;

如果不确定oracle函数的返回值类型,该怎么写这个function。
decode(col, null, val, -1);--如果是null,返回val,否则返回-1;另外,为了让这个函数适合用到sql中, 建议你把integer换成number。

oracle 问题,如下SQL,出现除数不能为零了,怎么解决啊??不能让SQL报错...
回答:试试用decode(除数,0,返回值1,返回值2) 或者用when case,判断之后,再取值。

请问各位大侠:oracle的存储过程返回值如果有0.2等这类小数时,为何前面...
你可以将这玩意儿转换为字符串显示 select ltrim(to_char(1\/2,'99990.00')) from dual

oracle 中怎么判断是否为数字?
CREATE OR REPLACE Function Isnumeric(Str In Varchar2)Return Number Is Begin If Str Is Null Then Return 0;Else If Regexp_Like(Str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$') --数值 \/*(str, '^[0-9]*[1-9][0-9]*$') --正整数*\/ Then Return 1;Else Re...

Oracle条件查询,如果不符合条件,需要返回值为0
insert into t values (2,3,4); insert into t values (3,4,5);commit;执行:select t1.rn id,nvl(t2.class,0) class,nvl(t2.name,0) name from(select rownum -1 rn from dual connect by rownum<=1000) t1left join t t2 on t1.rn=t2.id where t1.rn=4;结果:这个意思?

oracle 存储过程返回值的问题
所谓返回值,就是执行proc后,返回的变量,在程序设计中,设置个变量,直接接受proc的返回值即可

oracle 函数 当代码还在执行中,返回值:正在执行请稍后…… 请问怎么...
最简单的方法,就是建立一个表,当第一次执行这个函数时,插入一条记录到这个表中,列如:函数名称:test_function 状态: 1. 。执行完成后将这个状态改为3。 再在函数中去判断。。如果状态是1,抛出异常。这是一般系统普遍这么做的。有什么问题 +MSN:heyaojr1021@hotmail.com ...

Oracle中decode函数有匹配的值为什么还返回空值?
decode函数相当于一条件语句(if).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于sql的其它函数,decode函数还能识别和操作空值.其具体的语法格式...

oracle decode的用法
如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULL compare值等价。如果需要的话,每一个compare值都被转换成和第一个compare 值相同的数据类型,这个数据类型也是返回...

相似回答