create function monthBetween("DAY1" varchar(10),"DAY2" varchar(10))
Returns INTEGER
LANGUAGE SQL
begin ATOMIC Declare dMonth INTEGER;
Declare date1 Date;
Declare date2 Date;
Declare a INTEGER;
--我们这里将传入的day1,day2进行比较,将日期大的赋值给date1,反之赋值给date2
if day1>day2 then
set date1=Date(day1);
set date2=Date(day2);
else
set date1=Date(day2);
set date2=Date(day1);
end if;
set a = (date1-date2);
if mod(a,100)>0 then --如果有零星天,即天数大于零则月数加上1
set dMonth=(date1-date2)/10000*12+ mod((a/100),100)+1;
else
set dMonth=(date1-date2)/10000*12+mod((a/100),100);
end if;
return dMonth;
end