我是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查询语句)中使用上面的编码部分 .
谢谢 .