2012-06-07 55 views
1

我正在構建一個複雜的SQL查詢,我想在while語句中測試結果。我可以「while =測試」結果在SQL?

我想要做的事,如:

WHERE (R.Expired IS NULL OR R.Expired > SYSDATE) 
    AND (
    CASE 
     WHEN R.Description LIKE '%SSX%' THEN TRUE 
     ELSE FALSE 
    END 
) ORDER BY R.Name 

但是PL/SQL說,它有一些 「無效的關係運算符」(翻譯)。

我的CASE語句有什麼問題嗎?

回答

4

CASE WHEN東西看起來沒有必要給我。

只需使用調試

AND (R.Description Like '%SSX') 

第一條規則 - 避免不必要的複雜性。

+0

你是現貨上,除去sillyness ... – Jason94

+0

很樂意幫忙... –

1

不確定你想要在這裏實現什麼,但是你可以嘗試在單引號中包含TRUE和FALSE(因爲SQL中不支持布爾值)或者只是寫一些類似AND R.Description LIKE '%SSX%'的東西。

1

簡單:

WHERE (R.Expired IS NULL OR R.Expired > SYSDATE) AND 
     R.Description LIKE '%SSX%' 
相關問題