你如何计算两个日期之间的星期数?
问题描述:
你如何计算两个日期之间的星期数?你如何计算两个日期之间的星期数?
例如如下
Declare @StartDate as DateTime = "01 Jan 2009";
Declare @EndDate as DateTime = "01 June 2009";
@StartDate and @EndDate
答
使用DateDiff函数。 datediff(ww,@startdate,@enddate)
的WW讲述了要算什么单位你需要的不同功能
答
您可以使用下面的函数来retrives本周的两个日期之间:
CREATE FUNCTION [dbo].[fGetWeeksList]
(
@StartDate DATETIME
,@EndDate DATETIME
)
RETURNS
TABLE
AS
RETURN
(
SELECT DATEADD(DAY,-(DATEPART(DW,DATEADD(WEEK, x.number, @StartDate))-2),DATEADD(WEEK, x.number, @StartDate)) as [StartDate]
,DATEADD(DAY,-(DATEPART(DW,DATEADD(WEEK, x.number + 1, @StartDate))-1) ,DATEADD(WEEK, x.number + 1, @StartDate)) AS [EndDate]
FROM master.dbo.spt_values x
WHERE x.type = 'P' AND x.number <= DATEDIFF(WEEK, @StartDate, DATEADD(WEEK,0,CAST(@EndDate AS DATE)))
待办事项你想知道这两个日期之间有多少个7天的时间段,或者期间有多少个星期日(或星期一)? – Gabe 2010-03-29 14:22:32