Fråga : Sist full vecka i sql

Förmiddag som I har ett problem med att välja den sist fulla veckan, de nedanföra showsna för kodifiera som varje ting efter midnatt söndag till för midnatt de nästa Sunday. I önskar precis att se från 08.00 Måndag morgon till 07.00 förmiddag den nästa måndagen morming. > för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
" codeBody " " @TodayDayOfWeek INT för >DECLARE för class= " för ”6”) OCH (dbo.t_OrderLines.n_Type-<> ”26”) OCH (dbo.t_OrderLines.n_Type-<> ”18”) OCH (dbo.CreateOrder.n_OrderOriginallyPlacedTime BETWEEN OMVÄND (VARCHAR, @STARTOFPREVWEEK, 7) OCH OMVÄND (VARCHAR, @ENDOFPREVWEEK+1,7)) OCH (dbo.t_OrderLines.n_MenuId-<> ”2719”) BESTÄLLA VID dbo.CreateOrder.n_OrderOriginallyPlacedTime
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
" codeBody " " @TodayDayOfWeek INT för >DECLARE för class= " för ”6”) OCH (dbo.t_OrderLines.n_Type-<> ”26”) OCH (dbo.t_OrderLines.n_Type-<> ”18”) OCH (dbo.CreateOrder.n_OrderOriginallyPlacedTime BETWEEN OMVÄND (VARCHAR, @STARTOFPREVWEEK, 7) OCH OMVÄND (VARCHAR, @ENDOFPREVWEEK+1,7)) OCH (dbo.t_OrderLines.n_MenuId-<> ”2719”) BESTÄLLA VID dbo.CreateOrder.n_OrderOriginallyPlacedTime
" klar "

Svar : Sist full vecka i sql

Försök att använda fäst kodifierar. Det fungerar endast fint, om du kör endast på Måndagar.

FÖRKLARA @TODAYDAYOFWEEK INT
FÖRKLARA @EndOfPrevWeekDateTime
FÖRKLARA @StartOfPrevWeekDateTime
FASTSTÄLLD @TodayDayOfWeek = datepart (dw, GetDate ())
FASTSTÄLLD @EndOfPrevWeek = OMVÄND (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek-2), GetDate ()), 112) + ”07:00”,
FASTSTÄLLD @StartOfPrevWeek = OMVÄND (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek+5), GetDate ()), 112) + ”08:00”,
VÄLJ BÄSTA (100) PROCENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, dboen. Plu.Plu, dboen. Plu.ItemName, dboen. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum,
                      dbo.t_OrderLines.n_Type dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount
FRÅN MYCKET YTTRE dbo.t_OrderPayment SAMMANFOGA
                      dbo.CreateOrder PÅ dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID OCH
                      dbo.t_OrderPayment.n_Order = MYCKET YTTRE dbo.CreateOrder.n_OrderNum SAMMANFOGAR
                      dbo.t_OrderLines PÅ dbo.CreateOrder.n_OrderNum = MYCKET YTTRE dbo.t_OrderLines.n_OrderNum SAMMANFOGAR
                      dbo. Plu PÅ dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
VAR (dbo.t_OrderLines.nStoreID = ”528”) OCH (dbo.CreateOrder.nStoreID = ”528”) OCH (dbo.CreateOrder.n_StatusFlags <> ”6”) OCH
                      (dbo.t_OrderLines.n_Type <> ”26”) OCH (dbo.t_OrderLines.n_Type <> ”18”) OCH (dbo.CreateOrder.n_OrderOriginallyPlacedTime BETWEEN
@StartOfPrevWeek
OCH
@EndOfPrevWeek
 OCH (dbo.t_OrderLines.n_MenuId <> ”2719”)
BESTÄLLA VID dbo.CreateOrder.n_OrderOriginallyPlacedTime
Andra lösningar  
 
programming4us programming4us