2014-02-27 67 views
0

您好我正在寫Oracle查詢,支持選擇所有條款我的查詢是這樣的甲骨文條件內條款

SELECT * FROM country 
WHERE 
country_id in(IF('test' = 'test',(1,2,3),true)) 

如果條件(「測試」 =「測試」)是真的,那麼它應該火查詢像

SELECT * FROM country WHERE country_id in(1,2,3) 

否則它應該火查詢

SELECT * FROM country WHERE country_id in(true) 

回答

1

如果我正確你需要什麼,你將有不懂·其分成2個條件:

SELECT * 
    FROM country 
    WHERE(('test'='test')AND(country_id IN (1,2,3))) 
    OR(('test'<>'test')AND(country_id<>0)) 
+0

是這樣的..但甲骨文提供了錯誤的'「TRUE」:無效identifier',因爲ORCALE不支持布爾類型 – Vikas

+0

對於ORACLE的一切,是0是假的並且<> 0是正確的。所以條件應該是country_id <> 0。 – Ziouas