sql >> Database >  >> RDS >> Sqlserver

MS SQL Server 2008:Begindatum en einddatum van de week ophalen tot de volgende 8 weken

Probeer dit:

DECLARE @startDate DATETIME
DECLARE @currentDate DATETIME
DECLARE @numberOfWeeks INT

DECLARE @dates TABLE(
    StartDate DateTime,
    EndDate DateTime 
)

SET @startDate = GETDATE()--'2012-01-01' -- Put whatever you want here
SET @numberOfWeeks = 8 -- Choose number of weeks here
SET @currentDate = @startDate

while @currentDate < dateadd(week, @numberOfWeeks, @startDate)
begin
    INSERT INTO @Dates(StartDate, EndDate) VALUES (@currentDate, dateadd(day, 6, @currentDate))
    set @currentDate = dateadd(day, 7, @currentDate);
end

SELECT * FROM @dates

Dit geeft je zoiets als dit:

StartDate           EndDate 
21/03/2013 11:22:46 27/03/2013 11:22:46 
28/03/2013 11:22:46 03/04/2013 11:22:46 
04/04/2013 11:22:46 10/04/2013 11:22:46 
11/04/2013 11:22:46 17/04/2013 11:22:46 
18/04/2013 11:22:46 24/04/2013 11:22:46 
25/04/2013 11:22:46 01/05/2013 11:22:46 
02/05/2013 11:22:46 08/05/2013 11:22:46 
09/05/2013 11:22:46 15/05/2013 11:22:46 

Of u kunt de laatste selectie aanpassen als u de tijdcomponent niet wilt, zoals dit:

SELECT CONVERT(VARCHAR, StartDate, 103), CONVERT(VARCHAR, EndDate, 103) FROM @dates


  1. Hoe weet ik of een MySQL UPDATE-query mislukt omdat de verstrekte informatie overeenkomt met gegevens die al in de database staan?

  2. Hoe controleer ik of de waarde al in de tabel bestaat?

  3. Wat is het verschil tussen de addlashes van PHP en mysql(i)_escape_string?

  4. Hoe open ik een DB-verbinding in Openshift?