病毒安全知识,电脑网络技术,手工杀毒方法,答疑解决笔记

导航

« 400开头的电话能接吗关闭Windows自动更新驱动程序 »

Oracle中的“if else”

  在Oracle的SQL语句中要用到条件判断,除了decode外,还有case when。decode只能进行等式比较判断,如decode(字段,值1,结果1,值2,结果2,...,值n,结果n,默认值),当所选字段等于值1时,取结果1,等于值2时,取结果2,……,最后都不等时取默认值,而case when除了等于,可以使用大于、小于的比较,可以替代decode,更象“if ...else...”。

  case when的用法类似如下:

case
         when 条件1
                    then 结果1
         when 条件2
                   then 结果2
         .....
         when 条件n-1
                   then 结果n-1
          else 结果n
end

以case开始,以end结尾,end后面可以放别名,可以放在select后,也可以放在where中,还能嵌套,当然上面的语句可以写在一行里,只是那就可能看不清楚,分行写更明白一些。

  最后说一下,在then和else后面的表达式要是一个类型的,否则Oracle会报数据类型不一致的错误,要怎么一致法?我遇到的Oracle8i中,如果是这样的的:case when ... then sysdate else sysdate-1 end,这样就会报数据类型不一致,只能改成...then sysdate-0 else sysdate-1 end,类似这样。


>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1624.html

发表评论(无须注册,所有评论在审核通过后显示):

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • 微信订阅号
    微信订阅

最新发表

最新评论及回复

本站出现的所有广告均不代表本人及本站观点立场 | 关于我 | 网站地图 | 联系邮箱 | 返回顶部
Copyright 2008-2020 www.stormcn.cn. All Rights Reserved. Powered By Z-Blog.

闽公网安备 35010202000133号