Questione : Ultima settimana completa nello sql

Sto avendo un problema con la selezione della settimana completa ultima, il codice sotto mostro ogni cosa dopo domenica midnight prima della mezzanotte domenica prossima.
che voglio appena vedere lunedì prossimo da 08.00 lunedì mattina a 07.00 il morming.
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
@TodayDayOfWeek notpretty INT del >DECLARE " del class= " " di codeSnippet778764 del id= del
 “6„ di dbo.CreateOrder.n_StatusFlags) E 
                      (<> “26„ di dbo.t_OrderLines.n_Type) E (<> “18„ di dbo.t_OrderLines.n_Type) E (dbo.CreateOrder.n_OrderOriginallyPlacedTime IN MEZZO 
CONVERTITO (VARCHAR, @STARTOFPREVWEEK, 7)
E
CONVERTITO (VARCHAR, @ENDOFPREVWEEK+1,7))
 E (<> “2719„ di dbo.t_OrderLines.n_MenuId)
ORDINE da dbo.CreateOrder.n_OrderOriginallyPlacedTime
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
@TodayDayOfWeek notpretty INT del >DECLARE " del class= " " di codeSnippet778767 del id= del
 “6„ di dbo.CreateOrder.n_StatusFlags) E 
                      (<> “26„ di dbo.t_OrderLines.n_Type) E (<> “18„ di dbo.t_OrderLines.n_Type) E (dbo.CreateOrder.n_OrderOriginallyPlacedTime IN MEZZO 
CONVERTITO (VARCHAR, @STARTOFPREVWEEK, 7)
E
CONVERTITO (VARCHAR, @ENDOFPREVWEEK+1,7))
 E (<> “2719„ di dbo.t_OrderLines.n_MenuId)
ORDINE da dbo.CreateOrder.n_OrderOriginallyPlacedTime
class= del

Risposta : Ultima settimana completa nello sql

Provare ad usare il codice allegato. Funziona soltanto benissimo se funzionate soltanto ai lunedì.

DICHIARARE IL @TODAYDAYOFWEEK INT
DICHIARARE il DateTime del @EndOfPrevWeek
DICHIARARE il DateTime del @StartOfPrevWeek
REGOLARE il @TodayDayOfWeek = il datepart (dw, GetDate ())
REGOLARE il @EndOfPrevWeek = il CONVERTITO (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek-2), GetDate ()), 112) + “07:00„
REGOLARE il @StartOfPrevWeek = il CONVERTITO (VARCHAR, DATEADD (dd, - (@TodayDayOfWeek+5), GetDate ()), 112) + “08:00„
SELEZIONARE le 100) PERCENTUALI dbo.CreateOrder.n_OrderOriginallyPlacedTime, il dbo. Plu.Plu, il dbo. Plu.ItemName, il dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum della PARTE SUPERIORE (,
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount
Da dbo.t_OrderPayment IN PIENO ESTERNO UNIR
                      dbo.CreateOrder SU dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID E
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum IN PIENO ESTERNI SI UNISCONO
                      dbo.t_OrderLines SU dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum IN PIENO ESTERNO SI UNISCONO
                      dbo. Plu SU dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
DOVE (dbo.t_OrderLines.nStoreID = “528„) E (dbo.CreateOrder.nStoreID = “528„) E (dbo.CreateOrder.n_StatusFlags <> “6„) E
                      (dbo.t_OrderLines.n_Type <> “26„) E (dbo.t_OrderLines.n_Type <> “18„) E (dbo.CreateOrder.n_OrderOriginallyPlacedTime IN MEZZO
@StartOfPrevWeek
E
@EndOfPrevWeek
 E (dbo.t_OrderLines.n_MenuId <> “2719„)
ORDINE da dbo.CreateOrder.n_OrderOriginallyPlacedTime
Altre soluzioni  
 
programming4us programming4us