查找总工作天数

时间:2016-04-29 02:19:39

标签: sql sql-server-2012

Microsoft SQL Server 2012。

2015年12月31日 - 每个人的入场日期,并添加所有这些日子以获得在sql中工作的总天数。

例如2015年1月至31月期间只有2人a和b然后 - 花5天,b花10天然后你想答案是15 尝试如下

select count(DATEDIFF (d,'2015-12-31' , admittedon) from  admission
where   (admittedon BETWEEN '2016-01-01' AND '2016-03-31') or 
      (DischargedOn BETWEEN '2016-01-01' AND '2016-03-31')

1 个答案:

答案 0 :(得分:0)

我不确定这是不是你想要的:

select count(DATEDIFF (d,'2015-12-31' , admittedon) + 
       count(DATEDIFF (d,'2015-12-31' , DischargedOn) as days 
from  admission
where   (admittedon BETWEEN '2016-01-01' AND '2016-03-31') or 
        (DischargedOn BETWEEN '2016-01-01' AND '2016-03-31')

你只需要计算Dischargedon部分并将它们加在一起。