计算某人在特定时间段内度过某个年龄的天数

时间:2014-01-05 13:22:13

标签: sql db2 datediff

您好我正在使用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等等。

我可以明确地确定每个人在每个新地址开始时的年龄,但是如何确定他们生活在每个有效地址时的后续生日。有没有人对我可以从哪里开始有任何合理的见解。不一定要寻找代码。

1 个答案:

答案 0 :(得分: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) );