oracle if 语法

liuzi_sh 2004-11-26 09:59:03
我要一个如下函数:if ( 条件,真值,假值)  函数意义如下:先看条件,如果满足条件函数则返回真值,否则返回假值,难点是,真值和假值可以是 if ( 条件,真值,假值) 这个函数本身,进行重复嵌夽 ,这是一个递归问题。
  我知道oracle提供一个decode,但decode 只能进行等于判断,相当于case,而不能进行大小于判断,也许是小弟对decode 了解不深吧。
  有愿意帮忙的请不吝赐教,分数要多少给多少!决不食言(一次给不了分几次给!)
...全文
1408 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjoy 2005-06-30
  • 打赏
  • 举报
回复
mark
phant0m 2004-11-27
  • 打赏
  • 举报
回复
decode 和 sign 快成绝配了~
zhpsam109 2004-11-26
  • 打赏
  • 举报
回复
学习
!
wenming168 2004-11-26
  • 打赏
  • 举报
回复
decode加sign是最佳的解决方案
bluelamb 2004-11-26
  • 打赏
  • 举报
回复
decode加sign是最佳的解决方案
YuriOU 2004-11-26
  • 打赏
  • 举报
回复
大小判断是加上sign函数

返回 说明
sign(a-b) 1 a>b
0 a=b
-1 a<b
YuriOU 2004-11-26
  • 打赏
  • 举报
回复
大小判断是加上sign函数

返回 说明
sign(a,b) 1 a>b
0 a=b
-1 a<b
qiaozhiwei 2004-11-26
  • 打赏
  • 举报
回复
decode(sign(col1-col2),1,'xx',-1,'xx2',0,'xx1'),1表示col1>col2,-1表示col1<col2,0表示等于
GerryYang 2004-11-26
  • 打赏
  • 举报
回复
decode加sign可以的.
LGQDUCKY 2004-11-26
  • 打赏
  • 举报
回复
decode可以判断大小



decode(sign(col1-col2),1,''xx',-1,'xx2')

用取符号来判断大小
doulikeme 2004-11-26
  • 打赏
  • 举报
回复
如果是两个数值型的比较,只要判断他们的差 不就可以比较大小了么?
doulikeme 2004-11-26
  • 打赏
  • 举报
回复
呵呵 倒是像C++里的三目运算符,完全可以自己写一个的啊
CodeMagic 2004-11-26
  • 打赏
  • 举报
回复
decode和sign相结合,来判断
Samland 2004-11-26
  • 打赏
  • 举报
回复
case ...when..then...else ...end也可
asus2004ibm 2004-11-26
  • 打赏
  • 举报
回复
来看一看

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧