如:想判断一个数小于另一个数 10 <100 小于返回1 不小于返回 0 怎样实现呢
昨天看到了decode函数,相当于条件语句中的IF,于是想要用decode实现
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下:
if (条件==值1)
then
return(翻译值1)
elsif (条件==值2)
then
return(翻译值2)
......
elsif (条件==值n)
then
return(翻译值n)
else
return(缺省值)
end if
同时还要一个新的函数sign sign(n) 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
select decode(sign(10-100),-1,1,0) from dual;其实还有case when
select case when 10<100 then 1 else 0 end from dual;