set serveroutput on ;
declare
d date;
y number;
m number;
da number;
two number;
result number;
begin
result:=0;
select sysdate into d from dual;
y:=to_number(substr(to_char(d,'dd-mm-yyyy'),7,4));
m:=to_number(substr(to_char(d,'dd-mm-yyyy'),4,2));
da:=substr(to_char(d,'dd-mm-yyyy'),1,2);
if(y mod 4=0) then
two:=29;
else
two:=28;
end if;
for i in 1..m loop
case i
when 1 then result:=result+31;
when 2 then result:=result+two;
when 3 then result:=result+31;
when 4 then result:=result+30;
when 5 then result:=result+31;
when 6 then result:=result+30;
when 7 then result:=result+31;
when 8 then result:=result+31;
when 9 then
declare
d date;
y number;
m number;
da number;
two number;
result number;
begin
result:=0;
select sysdate into d from dual;
y:=to_number(substr(to_char(d,'dd-mm-yyyy'),7,4));
m:=to_number(substr(to_char(d,'dd-mm-yyyy'),4,2));
da:=substr(to_char(d,'dd-mm-yyyy'),1,2);
if(y mod 4=0) then
two:=29;
else
two:=28;
end if;
for i in 1..m loop
case i
when 1 then result:=result+31;
when 2 then result:=result+two;
when 3 then result:=result+31;
when 4 then result:=result+30;
when 5 then result:=result+31;
when 6 then result:=result+30;
when 7 then result:=result+31;
when 8 then result:=result+31;
when 9 then