在DateDiff函数中包含开始日期和结束日期

时间:2014-08-07 17:43:17

标签: sql sql-server-2005

我希望获得总天数,包括开始日期和结束日期,以下是一些示例:

Start Date  End Date     Tot#Days
08-04-2014  08-04-2014   1
08-04-2014  08-05-2014   2
08-04-2014  08-07-2014   4

我尝试使用DATEDIFF函数但是第一个例子得到0,第二个例子得1,第三个例子得3,这不是我想要的。

4 个答案:

答案 0 :(得分:3)

只需添加1:

select  datediff(day, [Start Date], [End Date]) + 1 as NumberOfDays
from    YourTable

答案 1 :(得分:2)

您可以在SQL SERVER中尝试:

DATEDIFF(DAY, '8/4/2014', '8/5/2014') +1

您需要将 1 添加到DATEDIFF功能,它才能正常工作。

另请注意:

<强> DATEDIFF

  

返回指定datepart的count(有符号整数)   在指定的startdate和enddate之间交叉的边界。

答案 2 :(得分:0)

我用过

DATEDIFF('工作日',[StartDate],[EndDate]) - 2 *(DATEPART('周',[EndDate])-DATEPART('周',[StartDate]))

答案 3 :(得分:0)

我稍微调整了一下

IFNULL(STR(DATEDIFF('weekday',[StartDate],[EndDate]-2*(DATEPART('week', [EndDate]) -DATEPART('week', [StartDate])) +1)),'Active')