检查CASE语句中的多个值

时间:2014-06-18 12:53:25

标签: oracle case

如何在不写多行的情况下检查我的case语句中的多个内容,检查每个案例。

我试过这个并且非常难看。

我想要像下面那样干净但不能让它发挥作用。

  select CASE 
           WHEN (UPPER(NAME) IN ('%AVG%', '%AVERAGE%') AND 
                FORMATTED_ENTRY NOT IN('<', '>')) 
           THEN FORMATTED_ENTRY  END actual_avg
    FROM VALUES_TABLE

1 个答案:

答案 0 :(得分:2)

假设您希望在这些百分号上进行通配符匹配:

CASE WHEN (
           ( UPPER(NAME) LIKE '%AVG%' OR UPPER(NAME) LIKE '%AVERAGE%' )
           AND FORMATTED_ENTRY NOT IN('<', '>')
          ) 
         THEN FORMATTED_ENTRY  END actual_avg