高手留步,oracle中case语句可以用哪些语句来替换?加分阿! CASE WHEN A IS NULL OR A <= B THEN B WHEN B IS NULL OR A > B THEN A ELSE NULLEND 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以被替换成select decode(A,NULL,DECODE(B,NULL,NULL,B),DECODE(B,NULL,A,DECODE((SIGN(A-B)),-1,B,A))) from test 建议楼主看看decode()函数的使用方法。 不就是求最大值么:DECODE(A,NULL,B,DECODE(B,NULL,A,GREATEST(A,B)) 晕,少粘了一个括号:DECODE(A,NULL,B,DECODE(B,NULL,A,GREATEST(A,B))) 呵呵,bobfang 比我的更加精练!!我是受了楼上的诱导,从decode的角度考虑而 bobfang 应该是看到我的答案之后,才得出这种方法的吧。总之,问题解决,有所得! 再次仔细看了楼主的问题,发觉我们都有点离题了。楼主的意思是 case 可以用什么语句来替换,而我们一心琢磨取最大值的问题了。总结了一下:在sql语句中,case 可以替换为decode在plsql中,case 可以替换为 if then else end if; 这种判断语句。 if cond... elsif cond...elsif cond...end if; 请问如何根据字段值中的逗号来拆分,并把拆分的数据保存到新表中? 远程备份oracle数据库-请高手入内 帮助写条sql 深圳发展银行面试数据库去过进来谈谈啊 报错了,请好手们看看。 包中的过程,字符型的参数得到有时是null 初学者提问! 怎么用sys备份其它没有导出权限用户下的数据 请教不用游标,如何有序的获取查询返回的多条记录。 关于oracle配置问题! 优化sql。 急救!一个oracle 的存储过程问题 ————在线等
可以被替换成
select decode(A,NULL,DECODE(B,NULL,NULL,B),DECODE(B,NULL,A,DECODE((SIGN(A-B)),-1,B,A))) from test
...
elsif cond
...
elsif cond
...
end if;