2010-03-29 13 views
6

आप दो तिथियों के बीच सप्ताहों की संख्या की गणना कैसे करते हैं?आप दो तिथियों के बीच सप्ताहों की संख्या की गणना कैसे करते हैं?

उदाहरण के लिए इस प्रकार

Declare @StartDate as DateTime = "01 Jan 2009"; 
Declare @EndDate as DateTime = "01 June 2009"; 

@StartDate and @EndDate 
+0

Do आप जानना चाहते हैं कि दो तिथियों के बीच कितनी 7-दिन की अवधि, या कितने रविवार (या सोमवार) अवधि में हैं? – Gabe

उत्तर

12

उपयोग DateDiff कार्य करते हैं। datediff(ww,@startdate,@enddate)

ww बताता समारोह क्या इकाइयों आप अंतर की आवश्यकता होती है में की जा सके

http://msdn.microsoft.com/en-us/library/ms189794.aspx

1

आप निम्न समारोह 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))) 
संबंधित मुद्दे

 संबंधित मुद्दे