如何在两个日期之间获得年份

时间:2016-04-06 10:34:20

标签: sql-server-2008 tsql

我有

离开表格

EmpNo
EmpName
LeaveStart
LeaveEnd

我想显示一年的假期,并使用datediff(dd,LeaveStart,LeaveEnd)

它会显示没有。已经过了几天。

但我希望每年表现出明智。

E.g

2014 - 10 days

2015 - 16 days

&在哪里我可以使用年份功能becoz有leavestart& leaveend 假设员工请假(

LeavStart- 28-Dec-2015

LeaveEnd - 05-Jan-2016

那么结果应该

2015 - 4 days

2016 - 5 days

然后如何使用查询。

请帮助解决此问题

1 个答案:

答案 0 :(得分:1)

可能是这样的

SELECT Year(LeaveStart),YEAR(LeaveEnd),DATEDIFF(DAY, MIN(LeaveStart), Max(LeaveEnd)) 
FROMtbl_Subject_OrderAssignedDetails
GROUP BY Year(LeaveStart),YEAR(LeaveEnd)