我有表像下面轉換日期範圍內多個時期
ID StartDate EndDate
1 15-MAR-2009 8-DEC-2011
2 14-JAN-2010 18-FEB-2013
我需要的輸出是這樣的 -
ID StartDate EndDate
1 15-MAR-2009 31-DEC-2009
1 1-JAN-2010 31-DEC-2010
1 1-JAN-2011 8-Dec-2011
2 14-JAN-2010 31-DEC-2010
2 1-JAN-2011 31-DEC-2011
2 1-JAN-2012 31-DEC-2012
2 1-JAN-2013 18-FEB-2013
我9i的甲骨文數據庫,我會perfer與Informatica這樣做但似乎很難找到解決方案,不能創建一個程序,所以需要SQL查詢。如果任何人都可以在informatica 8.6中提供,那就更棒了。
編輯: -
Create table test_range
(Sr_No number,
start_date date,
end_date date)
create table yr_range
(years date);
Insert語句: -
insert into test_range values (1,'15-MAR-2009','8-DEC-2011');
insert into test_range values (2,'14-JAN-2010','18-FEB-2013');
insert into yr_range values ('31-Dec-2005');
insert into yr_range values ('31-Dec-2006');
insert into yr_range values ('31-Dec-2007');
insert into yr_range values ('31-Dec-2008');
insert into yr_range values ('31-Dec-2009');
insert into yr_range values ('31-Dec-2010');
insert into yr_range values ('31-Dec-2011');
insert into yr_range values ('31-Dec-2012');
insert into yr_range values ('31-Dec-2013');
正如在回答一個建議,我已創建的另一個表,從而獲得所需的輸出,使用一個表有可能只(即test_range)?我希望在最終確定這個選項之前,讓所有選項都被攻擊者利用。
我沒有得到現有數據與您建議的輸出之間的關係。 – Raptor
我認爲,OP每年打破日期範圍,即一行在多行中斷,每行只包含一年期限。 –
由於yogendra提到12月31日是年終日期,所以我需要打破一行到多行的基礎上和enddate,以較小的那一年 –