簡體   English   中英

Oracle 12c-有條件的地方

[英]Oracle 12c - conditional where

我有這樣的查詢:

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

我想僅在v_other_date != 'A'使用子句“ AND other_col = v_other_data ”。

這是最好的方法嗎?

        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

不要在where子句中使用case 您可以隨時用布爾邏輯替換它

WHERE some_column = v_some_data
AND (v_other_date = 'A' OR other_col = v_other_data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM