我是 Vijetha,我正在开发 Reports 6i,我对它非常陌生。我有以下查询。
在前端,在报告参数中,当用户单击“运行”按钮时,它将要求输入 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 查询语句)中的上述编码部分。
谢谢你。