不能直接用rownum,要查詢出來以後用別名轉換。
以EMP表為范例,取4至10行:
select * from (select rownum id,t.* from emp t) where id between 4 and 10;
有需要排序的,一定要這樣處理:
select * from ( select rownum rn,t.* from ( select a.* from eba02 a order by eba003) t where rownum <= 110) where rn >= 110;
可以用 not in 或者not exist
select * from TableA where to_char(startDate,'YYYY-MM-DD')>='2011-09-01' and to_char(endDate,'YYYY-MM-DD')<='2011-09-012' ;
另外如果是程序裡面用可以做綁定參數,免得每次都解析SQL語句,可以減少查詢時間