0

我是 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 查询语句)中的上述编码部分。

谢谢你。

4

1 回答 1

0

Your not stored selected value in a pl/sql variable.AS we know that we need to stored selected value in a perticular variable.You may use scalar or record type variable to stored data.

于 2014-04-22T05:14:54.000 回答