看板 Database 關於我們 聯絡資訊
依照您文中所使用的函數NVL,您應該使用的是Oracle吧? (請看置底版規,發文時必須附上DBMS......不過現在版主也都放牛吃草了) 在Oracle的SQL 中,盡可能的不要在where條件之後使用函數,這樣對該句 SQL的performance會比較不好,如果您是在一個學習的過程中,這是一個 蠻重要的觀念,so...... 依照您的問題點,在下的建議會是 SELECT * FROM TABLE DFV WHERE ((DFV.ATTRIBUTE1 = :P_MEA OR :P_MEA IS NULL) OR (DFV.ATTRIBUTE1 = :P_MEA1 OR :P_MEA1 IS NULL)); 使用這樣的方式來代替NVL的使用,會是比較好的方式 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.117.249