我是Vijetha,我正在研究報告6i,我很陌生 . 我有以下查詢 .
在front_end中,在Reports Parameter中,當用戶單擊“運行”按鈕時,它將詢問START_DATE和END_DATE輸入 .
如果用戶提供START_DATE和END_DATE或者不提供輸入,則無論代碼應執行什么 . enter code here 1)如果用戶提供start_date和end_date,則只顯示具有該特定給定日期的那些報告 . 2)如果用戶沒有給出start_date和end_date,
然后必須顯示所有日期的所有報告 .
所以我必須使用2個選擇語句 . 他們是:
1) SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;
2)SELECT * FROM T1;
我想要類似下面的東西:
if start_date=null & end_date=null,
then SELECT * FROM T1;
else
SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;
end if;
-
但是上面的代碼不起作用,因為數據模型中的SQL查詢語句應該在select語句中編碼,因此它必須在select語句中,如下所示:
select[
if start_date=null & end_date=null,
then SELECT * FROM T1;
else
SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;
end if;
] from t1;
我嘗試了NVL和DECODE,但它不適用于多個值 .
請幫助我在數據模型的查詢對話框(SQL查詢語句)中使用上面的編碼部分 .
謝謝 .