Oracle 12c-有条件的地方

时间:2018-08-13 14:33:06

标签: sql oracle oracle12c

我有这样的查询:

            SELECT COUNT(*) 
              INTO v_count 
              FROM some_table 
             WHERE some_column = v_some_data
               AND other_col = v_other_data

仅当AND other_col = v_other_data时,我才想使用条款“ v_other_date != 'A'”。

这是最好的方法吗?

        SELECT COUNT(*) 
          INTO v_count 
          FROM some_table 
         WHERE some_column = v_some_data
           AND other_col = case when v_other_data = 'A'
                                then other_col
                                else v_other_date
                           end

1 个答案:

答案 0 :(得分:4)

请勿在{{1​​}}子句中使用case。您总是可以用布尔逻辑替换它

where