我有一个 Procedure ,它接受 fromDate 和 toDate 输入参数,我需要将默认值分别设置为上个月的第一个日期和上个月的最后一个日期。我正在尝试使用下面的代码,但仍未设置正确的默认日期。请让我知道以下代码是否有效,或者我可以采取一些措施来纠正它:
create or replace PROCEDURE "TEST"
(
fromdate_in IN varchar2,
todate_in IN varchar2,
type_in IN number DEFAULT 01
)
is
V_date varchar2(3000);
begin
select to_date(fromdate_in) into V_date from dual; -- Correct date entered
Exception WHEN Others THEN
select to_char(trunc(trunc(sysdate, 'MM') - 1, 'MM'),'DD/MM/RRRR') into V_date from dual; -- if fromdate_in --is null then set V_date to first date of Previous month
-- calculations using V_date
end TEST;
请注意,为简单起见,我仅展示了如何将上个月的第一个日期设置为起始日期。