我有一個存儲過程,需要返回每週在不同日子進行的項目的每週計劃。它需要一個開始日期。t-sql幫助。需要返回該日期參數的當前一週數據
@StartDate DATETIME
根據傳入的startdate,我需要返回該周的所有數據行,從週二開始到下週一結束。
只考慮startdate,我如何將星期的開始設置爲星期二,然後讓我的查詢返回特定星期範圍內的數據?
我知道SQL中的日期函數什麼都沒有。
我確實看到你可以將DATEFIRST設置爲2(我認爲它是星期二),但我不知道如何在日期中找到並找到那一週。我假設我需要兩個變量來設置星期的開始日期和星期結束日期並返回該範圍內的數據?
這裏是我的查詢,目前僅返回傳入當前日期:
SELECT
PS.ProductionDate,
L.Name,
S.Name,
PS.PartNo,
--PM.DisplayName,
PS.LotNo,
WC.Name,
WC2.Name,
PSS.Name,
PS.Mixing,
PS.Glazing,
PS.StartTime,
PS.[Weight],
PS.Pallets
FROM PROD_ProductionSchedule PS
--LEFT OUTER JOIN PartMaster PM on PS.PartNo = PM.Name
LEFT OUTER JOIN Location L on PS.LocationId = L.Id
LEFT OUTER JOIN PROD_Shifts S on PS.ShiftId = S.Id
LEFT OUTER JOIN PROD_WorkCenters WC on PS.OvenId = WC.Id
LEFT OUTER JOIN PROD_WorkCenters WC2 on PS.LineId = WC2.Id
LEFT OUTER JOIN PROD_ProductionScheduleStatus PSS ON PS.ScheduleStatusId = PSS.Id
WHERE [email protected]
AND PS.LocationId = CASE WHEN @Location = -1 THEN PS.LocationId ELSE @Location END
AND PS.PartNo = CASE WHEN @PartNo = 'ALL' THEN PS.PartNo ELSE @PartNo END