17,377
社区成员
发帖
与我相关
我的任务
分享
create or replace function fn_getdays(p1 varchar2) return integer
is
v_year varchar(4);
v_month varchar2(2);
v_return int; --Result integer;
begin
v_year := substring(p1,1,4);
v_month := substring(p1,5,2);
if v_month in ('01','03','05','07','08','10','12') then --如果是31天的月份
v_return := 31
else if v_month in ('04','06','09','11') then --如果是30天的月份
v_return := 30
else if v_month in ('02') then --如果是2月份
begin
if cast(v_year as int) / 4 = 0 then --如果整除4,则是闰年
v_return := 29
else
v_return := 28
end if;
end;
end if;
return(v_return);
end fn_getdays;