Je suis en train de régler le jour de départ au samediSQL - Obtenez toutes les dates entre le jour actuel et début et la fin de la semaine
SET DATEFIRST 6 -- Sets start day to Saturday
Et puis obtenir toutes les GameDate entre le début de la semaine et la fin de la semaine. Mais il doit être fait avec le jour actuel. Par exemple: si le jour est en cours jeudi et la fin de la semaine est le vendredi, je ne veux pas faire:
DECLARE @StartWeek datetime Set @StartWeek = DATEADD(w, 0, DATEADD(w, DATEDIFF(w, 0,GETDATE()), -5))
DECLARE @EndWeek datetime Set @EndWeek = DATEADD(w, 0, DATEADD(w, DATEDIFF(w, 0,GETDATE()), 1))
Parce que ce sera plus que les 5 prochains jours se montre. Et si CurrentDay est jeudi, je ne veux pas que les 5 prochains jours soient affichés. Juste les GameDates de chaque semaine.
C'est ce que je suis arrivé à ce jour:
DECLARE @DateTable Table (DateofWeek Date) -- Creates table
DECLARE @DateToday Date SELECT DAY(GETDATE()) 'Current Day' -- Gets current date
DECLARE @StartWeek datetime Set @StartWeek = DATEADD(w, 0, DATEADD(w, DATEDIFF(w, 0,GETDATE()), -5)) --This is the part thats wrong
DECLARE @EndWeek datetime Set @EndWeek = DATEADD(w, 0, DATEADD(w, DATEDIFF(w, 0,GETDATE()), 1)) --This is the part thats wrong
SET DATEFIRST 6 -- Sets start day to Saturday
SELECT DATEDIFF (DAY, @DateToday, @EndWeek) AS Diffrence_End
SELECT DATEDIFF (DAY, @DateToday, @StartWeek) AS Diffrence_Start
FROM @DateTable
WHILE @DateToday >= @EndWeek AND @DateToday <= @StartWeek -- Shows all gameDates between StartWeek and Endweek
BEGIN
SELECT DATEDIFF (DAY, @DateToday, @EndWeek)
Insert Into @DateTable
SELECT *
FROM @DateTable
END;
Certains de la requête est probablement faux, en particulier la dernière partie.
J'espère que je me suis fait assez clair, s'il y a des questions s'il vous plaît ne pas hésiter à me demander!