2014-01-05 32 views
0

嗨我正在使用SQL DB2並且有一個研究窗口2005-01-01 to 2012-12-31,其中不同的人在不同的時間段住在地址上,例如,計算某人在特定時間段內在某個特定年齡段花了多少天

Person  Date_birth  Address  Start   End 
1   1973-06-01  312a  2001-01-01 2006-04-05 
1   1973-06-01  104c  2008-04-11 2013-01-02 
2   1989-11-26  56e   2006-11-07 2011-10-31 

其中的每個人,我需要知道他們花了多少天達到一定年齡,而他們居住在數據給出的地址,如果他們在研究窗口存在的日子纔會被計算在內。

因此,例如,1人花了120天是27歲between 2001-01-01 and 2001-06-01,然後365天是28歲between 2001-06-01 and 2002-06-01等等等等

我可以明顯地確定每個人多大年紀,在每一個新的地址開始,但是如何確定他們生活在每個有效地址的後續生日。有沒有人有任何邏輯的洞察力,我可以從哪裏開始。不一定在尋找代碼。

回答

0

試試這個:

這是一個簡單的sql查詢來查找兩個日期之間的天數差異。

SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy"); 
Date myDate=null,myDate1=null; 
myDate=format.parse(oldDate); 
myDate1=format.parse(newDate); 
int diffInDays = (int)((myDate1.getTime() - myDate.getTime())/ (1000 * 60 * 60 * 24)); 
+0

目前我可以使用一個簡單的年份(開始) - 年份(Date_birth)來確定初次搬家時的年齡,但我需要知道他們在該地址花了多長時間,以及隨後的歲月。 – brucezepplin

+0

use oldDate =他們開始生活在該地址的日期newDate =當前日期 – Aarav

相關問題