Vraag : Vorige volledige week in sql

Ik heb een probleem met het selecteren van de laatste volledige week, toont de code hieronder elk ding na middernachtZondag aan vóór middernacht de komende zondag.
die ik enkel heb willen om van 08.00 Maandag ochtend aan 07.00 am zien de aanstaande maandag morming.
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
DECLARE @TodayDayOfWeek int.
VERKLAAR @EndOfPrevWeek DateTime
VERKLAAR @StartOfPrevWeek DateTime
PLAATS @TodayDayOfWeek = datepart (dw, GetDate ())
PLAATS @EndOfPrevWeek = DATEADD (dd, - @TodayDayOfWeek, GetDate ())
PLAATS @StartOfPrevWeek = DATEADD (dd, - (@TodayDayOfWeek+6), GetDate ())
SELECTEER HOOGSTE (100) PERCENTEN dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. 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 
VAN dbo.t_OrderPayment VOLLEDIGE TREEDT BUITEN TOE
                      dbo.CreateOrder OP dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID EN 
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo.t_OrderLines OP dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo. Plu OP dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WAAR (dbo.t_OrderLines.nStoreID = „528“) EN (dbo.CreateOrder.nStoreID = „528“) EN (dbo.CreateOrder.n_StatusFlags <> „6“) EN 
                      (dbo.t_OrderLines.n_Type <> „26“) EN (dbo.t_OrderLines.n_Type <> „18“) EN (dbo.CreateOrder.n_OrderOriginallyPlacedTime TUSSEN 
ZET OM (VARCHAR, @STARTOFPREVWEEK, 7)
EN
BEKEERLING (VARCHAR, @ENDOFPREVWEEK+1,7))
 EN (dbo.t_OrderLines.n_MenuId <> „2719“)
ORDE DOOR dbo.CreateOrder.n_OrderOriginallyPlacedTime
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
DECLARE @TodayDayOfWeek int.
VERKLAAR @EndOfPrevWeek DateTime
VERKLAAR @StartOfPrevWeek DateTime
PLAATS @TodayDayOfWeek = datepart (dw, GetDate ())
PLAATS @EndOfPrevWeek = DATEADD (dd, - @TodayDayOfWeek, GetDate ())
PLAATS @StartOfPrevWeek = DATEADD (dd, - (@TodayDayOfWeek+6), GetDate ())
SELECTEER HOOGSTE (100) PERCENTEN dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. 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 
VAN dbo.t_OrderPayment VOLLEDIGE TREEDT BUITEN TOE
                      dbo.CreateOrder OP dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID EN 
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo.t_OrderLines OP dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo. Plu OP dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WAAR (dbo.t_OrderLines.nStoreID = „528“) EN (dbo.CreateOrder.nStoreID = „528“) EN (dbo.CreateOrder.n_StatusFlags <> „6“) EN 
                      (dbo.t_OrderLines.n_Type <> „26“) EN (dbo.t_OrderLines.n_Type <> „18“) EN (dbo.CreateOrder.n_OrderOriginallyPlacedTime TUSSEN 
ZET OM (VARCHAR, @STARTOFPREVWEEK, 7)
EN
BEKEERLING (VARCHAR, @ENDOFPREVWEEK+1,7))
 EN (dbo.t_OrderLines.n_MenuId <> „2719“)
ORDE DOOR dbo.CreateOrder.n_OrderOriginallyPlacedTime

Antwoord : Vorige volledige week in sql

Probeer om de code in bijlage te gebruiken. Het werkt slechts boete als u slechts op Maandagen loopt.

VERKLAAR @TODAYDAYOFWEEK INT.
VERKLAAR @EndOfPrevWeek DateTime
VERKLAAR @StartOfPrevWeek DateTime
PLAATS @TodayDayOfWeek = datepart (dw, GetDate ())
PLAATS @EndOfPrevWeek = BEKEERLING (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek-2), GetDate ()), 112) + „07:00“
De REEKS @StartOfPrevWeek = ZET om (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek+5), GetDate ()), 112) + „08:00“
SELECTEER HOOGSTE (100) PERCENTEN dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. 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
VAN dbo.t_OrderPayment VOLLEDIGE TREEDT BUITEN TOE
                      dbo.CreateOrder OP dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID EN
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo.t_OrderLines OP dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum VOLLEDIGE TREEDT BUITEN toe
                      dbo. Plu OP dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WAAR (dbo.t_OrderLines.nStoreID = „528“) EN (dbo.CreateOrder.nStoreID = „528“) EN (dbo.CreateOrder.n_StatusFlags <> „6“) EN
                      (dbo.t_OrderLines.n_Type <> „26“) EN (dbo.t_OrderLines.n_Type <> „18“) EN (dbo.CreateOrder.n_OrderOriginallyPlacedTime TUSSEN
@StartOfPrevWeek
EN
@EndOfPrevWeek
 EN (dbo.t_OrderLines.n_MenuId <> „2719“)
ORDE DOOR dbo.CreateOrder.n_OrderOriginallyPlacedTime
Andere oplossingen  
 
programming4us programming4us