我在寫一個PL/SQL過程,該過程給出了基於日期範圍值的查詢計數。我想動態獲取日期範圍,併爲此寫入了一個光標。將值放入不同日期範圍的集合
我正在使用一個集合並獲取每個月的計數,我面對的問題是集合中僅填充了上個月的計數。我想得到所有月份的數量。誰能幫忙?
這是我寫的程序:
create or replace
Procedure Sample As
Cursor C1 Is
With T As (
select to_date('01-JAN-17') start_date,
Last_Day(Add_Months(Sysdate,-1)) end_date from dual
)
Select To_Char(Add_Months(Trunc(Start_Date,'mm'),Level - 1),'DD-MON-YY') St_Date,
to_char(add_months(trunc(start_date,'mm'),level),'DD-MON-YY') ed_date
From T
Connect By Trunc(End_Date,'mm') >= Add_Months(Trunc(Start_Date,'mm'),Level - 1);
Type T_count_Group_Id Is Table Of number;
V_count_Group_Id T_count_Group_Id;
Begin
For I In C1
Loop
Select Count(Distinct c1) bulk collect Into V_Count_Group_Id From T1
Where C2 Between I.St_Date And I.Ed_Date;
End Loop;
For J In V_Count_Group_Id.First..V_Count_Group_Id.Last
Loop
Dbms_Output.Put_Line(V_Count_Group_Id(J));
end loop;
END SAMPLE;
你明白了。謝謝......我現在必須使用utl_file將這些值填充到xls文件中。 –