Làm cách nào để tính số tuần giữa hai ngày?Làm cách nào để tính số tuần giữa hai ngày?
ví dụ như sau
Declare @StartDate as DateTime = "01 Jan 2009";
Declare @EndDate as DateTime = "01 June 2009";
@StartDate and @EndDate
Làm cách nào để tính số tuần giữa hai ngày?Làm cách nào để tính số tuần giữa hai ngày?
ví dụ như sau
Declare @StartDate as DateTime = "01 Jan 2009";
Declare @EndDate as DateTime = "01 June 2009";
@StartDate and @EndDate
Sử dụng chức năng datediff. datediff(ww,@startdate,@enddate)
các ww kể chức năng gì các đơn vị bạn cần sự khác biệt để được tính vào
Bạn có thể sử dụng chức năng sau đây để retrives tuần giữa hai ngày.
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)))
Đỗ bạn muốn biết có bao nhiêu khoảng thời gian 7 ngày giữa hai ngày, hoặc có bao nhiêu chủ nhật (hoặc thứ hai) trong giai đoạn này? – Gabe