Frage : Letzte volle Woche in sql

Ich habe ein Problem mit dem Vorwählen der letzten vollen Woche, der Code folgend ist zeige jede Sache nach Mitternachtssonntag vor zum Mitternacht, der kommenden Sonntag ist.
, das ich gerade von 08.00 Montag Morgen zu 07.00 morgens das morming.
kommenden Montag sehen möchte
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
DECLARE @TodayDayOfWeek INT
@EndOfPrevWeek Datum/Uhrzeit ERKLÄREN
@StartOfPrevWeek Datum/Uhrzeit ERKLÄREN
@TodayDayOfWeek = datepart (dw, GetDate, EINSTELLEN ())
@EndOfPrevWeek = DATEADD (DD, - @TodayDayOfWeek, GetDate ()) EINSTELLEN
@StartOfPrevWeek = DATEADD (DD, - (@TodayDayOfWeek+6), GetDate ()) EINSTELLEN
OBERSEITEN-(100) PROZENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum VORWÄHLEN, 
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount 
VON ÄUSSEREM dbo.t_OrderPayment VOLL VERBINDEN
                      dbo.CreateOrder AUF dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID UND 
                      dbo.t_OrderPayment.n_Order = ÄUSSERE dbo.CreateOrder.n_OrderNum VOLL VERBINDEN
                      dbo.t_OrderLines AUF dbo.CreateOrder.n_OrderNum = ÄUSSERES dbo.t_OrderLines.n_OrderNum VOLL VERBINDEN
                      dbo. Plu AUF dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WO (dbo.t_OrderLines.nStoreID = „528“) UND (dbo.CreateOrder.nStoreID = „528“) UND (dbo.CreateOrder.n_StatusFlags <> „6“) UND 
                      (dbo.t_OrderLines.n_Type <> „26“) UND (dbo.t_OrderLines.n_Type <> „18“) UND (dbo.CreateOrder.n_OrderOriginallyPlacedTime ZWISCHEN 
BEKEHRTER (VARCHAR, @STARTOFPREVWEEK, 7)
UND
BEKEHRTER (VARCHAR, @ENDOFPREVWEEK+1,7))
 UND (dbo.t_OrderLines.n_MenuId <> „2719“)
AUFTRAG DURCH dbo.CreateOrder.n_OrderOriginallyPlacedTime
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
DECLARE @TodayDayOfWeek INT
@EndOfPrevWeek Datum/Uhrzeit ERKLÄREN
@StartOfPrevWeek Datum/Uhrzeit ERKLÄREN
@TodayDayOfWeek = datepart (dw, GetDate, EINSTELLEN ())
@EndOfPrevWeek = DATEADD (DD, - @TodayDayOfWeek, GetDate ()) EINSTELLEN
@StartOfPrevWeek = DATEADD (DD, - (@TodayDayOfWeek+6), GetDate ()) EINSTELLEN
OBERSEITEN-(100) PROZENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum VORWÄHLEN, 
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount 
VON ÄUSSEREM dbo.t_OrderPayment VOLL VERBINDEN
                      dbo.CreateOrder AUF dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID UND 
                      dbo.t_OrderPayment.n_Order = ÄUSSERE dbo.CreateOrder.n_OrderNum VOLL VERBINDEN
                      dbo.t_OrderLines AUF dbo.CreateOrder.n_OrderNum = ÄUSSERES dbo.t_OrderLines.n_OrderNum VOLL VERBINDEN
                      dbo. Plu AUF dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WO (dbo.t_OrderLines.nStoreID = „528“) UND (dbo.CreateOrder.nStoreID = „528“) UND (dbo.CreateOrder.n_StatusFlags <> „6“) UND 
                      (dbo.t_OrderLines.n_Type <> „26“) UND (dbo.t_OrderLines.n_Type <> „18“) UND (dbo.CreateOrder.n_OrderOriginallyPlacedTime ZWISCHEN 
BEKEHRTER (VARCHAR, @STARTOFPREVWEEK, 7)
UND
BEKEHRTER (VARCHAR, @ENDOFPREVWEEK+1,7))
 UND (dbo.t_OrderLines.n_MenuId <> „2719“)
AUFTRAG DURCH dbo.CreateOrder.n_OrderOriginallyPlacedTime

Antwort : Letzte volle Woche in sql

Versuchen, den angebrachten Code zu verwenden. Er ist nur adaequat, wenn Sie nur an Montagen laufen.

@TODAYDAYOFWEEK INT ERKLÄREN
@EndOfPrevWeek Datum/Uhrzeit ERKLÄREN
@StartOfPrevWeek Datum/Uhrzeit ERKLÄREN
@TodayDayOfWeek = datepart (dw, GetDate, EINSTELLEN ())
@EndOfPrevWeek = BEKEHRTEN (VARCHAR, DATEADD (DD EINSTELLEN, - (@TodayDayOfWeek-2), GetDate ()), 112) + „07:00“
@StartOfPrevWeek = BEKEHRTEN (VARCHAR, DATEADD (DD EINSTELLEN, - (@TodayDayOfWeek+5), GetDate ()), 112) + „08:00“
OBERSEITEN-(100) PROZENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, dbo. Plu.Plu, dbo. Plu.ItemName, dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum VORWÄHLEN,
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount
VON ÄUSSEREM dbo.t_OrderPayment VOLL VERBINDEN
                      dbo.CreateOrder AUF dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID UND
                      dbo.t_OrderPayment.n_Order = ÄUSSERE dbo.CreateOrder.n_OrderNum VOLL VERBINDEN
                      dbo.t_OrderLines AUF dbo.CreateOrder.n_OrderNum = ÄUSSERES dbo.t_OrderLines.n_OrderNum VOLL VERBINDEN
                      dbo. Plu AUF dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
WO (dbo.t_OrderLines.nStoreID = „528“) UND (dbo.CreateOrder.nStoreID = „528“) UND (dbo.CreateOrder.n_StatusFlags <> „6“) UND
                      (dbo.t_OrderLines.n_Type <> „26“) UND (dbo.t_OrderLines.n_Type <> „18“) UND (dbo.CreateOrder.n_OrderOriginallyPlacedTime ZWISCHEN
@StartOfPrevWeek
UND
@EndOfPrevWeek
 UND (dbo.t_OrderLines.n_MenuId <> „2719“)
AUFTRAG DURCH dbo.CreateOrder.n_OrderOriginallyPlacedTime
Weitere Lösungen  
 
programming4us programming4us