您好,欢迎来到微智科技网。
搜索
您的当前位置:首页oracle where case when用法

oracle where case when用法

来源:微智科技网
oracle where case when用法

Oracle数据库中的CASE WHEN用法非常简单,具体来说,它就是单条SQL语句用于实现多分支选择结构,其形式为: CASE

WHEN条件1 THEN 动作1 WHEN条件2 THEN 动作2 WHEN条件N THEN 动作N END

利用CASE WHEN结构开发者可以完成IF…THEN…ELSE等复杂的逻辑选择结构,它实现的功能如下:

1、比较条件为常量值时。

当条件(condition)为常量时,一般形式为CASE WHEN 常量 THEN 动作 ,比如: SELECT col1, col2, CASE WHEN col3=10 THEN 'Ten' WHEN col3=20 THEN 'Twenty' END FROM table1;

在上例中,当条件col3=10时,输出‘Ten’;当条件col3=20时,输出‘Twenty’,其它情况输出null。

3、子查询,也可以在比较表达式中使用子查询,比如: SELECT col1, col2, CASE

WHEN (SELECT MAX(mark) FROM subtable1 where col1='ABC')>50 THEN 'Greater Than 50' END

FROM table1;

在上例中,当从子表subtable1中满足条件col1='ABC'的记录mark返回的全部值<50时,输出‘Greater Than 50’,其它情况输出null。

总之,Case when的使用可以根据具体的需要进行调整,主要受条件的影响,只要掌握CASE WHEN的使用规则,那么,它就可以用来实现任何复杂的逻辑结构,使用效果很好。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务