2016-02-29 63 views
0

我有一個包含兩個參數PM_DATE和PM_STOCK_ID的報告。它的LOV查詢是LOV中的日期查詢

SELECT DISTINCT ID FROM STOCK_COUNT 

我想根據用戶在日期參數中指定的日期過濾參數PM_STOCK_ID。在我嘗試使用的LOV的where子句中:

SELECT DISTINCT ID FROM STOCK_COUNT 
WHERE TRUNC (SCHEDULE_DATE) = NVL (:PM_DATE, SCHEDULE_DATE) 

但是這沒有奏效。

我也試着用兩個參數,P_SDATE(開始日期)和P_EDATE(結束日期)的範圍:它得到錯誤

SELECT distinct id FROM STOCK_COUNT 
WHERE 
(TRUNC(SCHEDULE_DATE)) BETWEEN NVL(:P_SDATE, TRUNC(SCHEDULE_DATE)) AND NVL(:P_EDATE, TRUNC(SCHEDULE_DATE)) 

Parameter name: P_STOCK_ID Unparseable date: "" 

我如何應這樣做?

+0

「這不起作用」不是很有幫助。你爲什麼要截斷左邊的'schedule_date'而不是NVL內? –

+0

我用新的查詢編輯了答案。它給出了錯誤參數名稱:P_STOCK_ID無法解析的日期:「」 –

+0

'unparseable date'是Java日期轉換錯誤,所以原因並不在於您在此處發佈的SQL - 尤其是因爲沒有任何這些查詢使用P_STOCK_ID,錯誤消息中引用的參數。 – APC

回答

0

通過只指定字符串:PM_DATE而沒有to_date函數,你會得到隱式類型轉換,這可能是困難的根本原因。