我有以下查詢..Oracle專用的SQL查詢與AND和OR複合語句
select *
from TABLE
where (to_date('1970-01-01 00:00:00','yyyy-MM-dd hh24:mi:ss') + (AUDITTIMESTAMP/60/60/24/1000)) < to_date('2012-11-18 10:06', 'yyyy-MM-dd hh24:mi:ss')
AND (to_date('1970-01-01 00:00:00','yyyy-MM-dd hh24:mi:ss') + (AUDITTIMESTAMP/60/60/24/1000)) > to_date('2012-11-17 22:06', 'yyyy-MM-dd hh24:mi:ss')
AND (
--(COLUMNA like '%aaa%' AND COLUMNAA like '%aaaaaaaaaaaaa%')
(COLUMNB like '%bbb%' AND COLUMNBB like '%bbbbbbbbbbbbbb%')
--or(COLUMNC like '%ccc%' AND COLUMNCC like '%ccccccccccccccc%')
--or (COLUMND like '%ddd%' AND COLUMNDD like '%ddddddddd%')
)
order by COLUMN1_PK
對於括號內化合物或聲明的每個條件,有記錄在數據庫中。
但是,當我有這種化合物塊中一條語句,有返回回來沒有記錄。
我該如何改變這個問題來解決這個問題?
你說,在貼出的形式,正在返回的記錄,但如果你取消以下'或(COLUMNC LIKE「%BBB%」 AND ...'行,你沒有記錄?我不希望這一點。 –
沒有..the問題是,如果我取消 (COLUMNA LIKE '%AAA%' AND COLUMNAA LIKE '%aaaaaaaaaaaaa%') 並添加或到下一行,返回的結果, 和所有的結果在評估第一列only..ignores 和COLUMNBB LIKE「%bbbbbbbbbbbbbb%」的一部分... – Sanath
你最後的評論(部分)違揹你在你的問題說了,所以只是muddies水。請發佈一些有代表性的數據和向我們展示預期產出和實際產出 – APC