CREATE OR REPLACE FUNCTION hy_f_getYYYYMM_of_quarter(dt1 date,dt2 date)
RETURN rt_table_type as
rt_obj rt_object_type;
rt_tab rt_table_type:=rt_table_type();
i int;
beginD varchar(100);-- 标记 判断开始时间
endD varchar(100);-- 标记结束时间
data1 date;-- yqyq
data2 varchar(7);-- yq
data3 varchar(10);-- yyyyqq
data4 varchar(10);-- yyyy
data5 varchar(10);-- q
data6 date;-- begindate
data7 date;-- enddate
BEGIN
i:=3;
dt1:=select add_months(dt1,-3) into dt1 from dual;
WHILE i<8000 LOOP
beginD:=select to_char(add_months(dt1,i),'yyyy-MM') into beginD from dual;
endD:=select to_char(dt2,'yyyy-MM') into endD from dual;
if (beginD <= endD) then
data1:=select add_months(dt1,i) into data1 from dual;
data2:=select to_char(add_months(dt1,i),'yyyy-MM') into data2 from dual;
data3:=select to_char(add_months(dt1,i),'yyyy') || '年第' || to_char(add_months(dt1,i),'q') || '季' into data3 from dual;
data4:=select to_char(add_months(dt1,i),'yyyy') into data4 from dual;
data5:=select to_char(add_months(dt1,i),'q') into data5 from dual;-- 获取季度
data6:=SELECT TRUNC(add_months(dt1,i), 'Q') into data6 FROM dual; -- 获取当前时间季度第一天
if (i<=3) then
data6:=select add_months(dt1,i) into data6 from dual;
end if;
[Err] ORA-24344: success with compilation error
这是哪里出了问题
RETURN rt_table_type as
rt_obj rt_object_type;
rt_tab rt_table_type:=rt_table_type();
i int;
beginD varchar(100);-- 标记 判断开始时间
endD varchar(100);-- 标记结束时间
data1 date;-- yqyq
data2 varchar(7);-- yq
data3 varchar(10);-- yyyyqq
data4 varchar(10);-- yyyy
data5 varchar(10);-- q
data6 date;-- begindate
data7 date;-- enddate
BEGIN
i:=3;
dt1:=select add_months(dt1,-3) into dt1 from dual;
WHILE i<8000 LOOP
beginD:=select to_char(add_months(dt1,i),'yyyy-MM') into beginD from dual;
endD:=select to_char(dt2,'yyyy-MM') into endD from dual;
if (beginD <= endD) then
data1:=select add_months(dt1,i) into data1 from dual;
data2:=select to_char(add_months(dt1,i),'yyyy-MM') into data2 from dual;
data3:=select to_char(add_months(dt1,i),'yyyy') || '年第' || to_char(add_months(dt1,i),'q') || '季' into data3 from dual;
data4:=select to_char(add_months(dt1,i),'yyyy') into data4 from dual;
data5:=select to_char(add_months(dt1,i),'q') into data5 from dual;-- 获取季度
data6:=SELECT TRUNC(add_months(dt1,i), 'Q') into data6 FROM dual; -- 获取当前时间季度第一天
if (i<=3) then
data6:=select add_months(dt1,i) into data6 from dual;
end if;
[Err] ORA-24344: success with compilation error
这是哪里出了问题
