Question : La pleine semaine dernière dans le SQL

J'ai un problème avec choisir la pleine semaine dernière, le code ci-dessous montre chaque chose après dimanche de minuit à avant le minuit dimanche prochain.
que je veux juste voir de 08.00 lundi matin à 7h00 du matin lundi prochain le morming.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
@TodayDayOfWeek " de " codeSnippet778764 d'id= " de
DECLARE de class=
DÉCLARER la date-heure de @EndOfPrevWeek
DÉCLARER la date-heure de @StartOfPrevWeek
PLACER le @TodayDayOfWeek = le datepart (dw, GetDate ())
PLACER le @EndOfPrevWeek = le DATEADD (densité double, - @TodayDayOfWeek, GetDate ())
PLACER le @StartOfPrevWeek = le DATEADD (densité double, - (@TodayDayOfWeek+6), GetDate ())
CHOISIR 100) POUR CENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, le dbo. Plu.Plu, le dbo. Plu.ItemName, le dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum de DESSUS (, 
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount 
De dbo.t_OrderPayment COMPLÈTEMENT EXTERNE JOINDRE
                      dbo.CreateOrder SUR dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID ET 
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum COMPLÈTEMENT EXTERNES SE JOIGNENT
                      dbo.t_OrderLines SUR dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum COMPLÈTEMENT EXTERNE SE JOIGNENT
                      dbo. Plu SUR dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
LÀ OÙ (dbo.t_OrderLines.nStoreID = « 528 ») ET (dbo.CreateOrder.nStoreID = « 528 ») ET (<> « 6 » de dbo.CreateOrder.n_StatusFlags) ET 
                      (<> « 26 » de dbo.t_OrderLines.n_Type) ET (<> « 18 » de dbo.t_OrderLines.n_Type) ET (dbo.CreateOrder.n_OrderOriginallyPlacedTime ENTRE 
CONVERTI (VARCHAR, @STARTOFPREVWEEK, 7)
ET
CONVERTI (VARCHAR, @ENDOFPREVWEEK+1,7))
 ET (<> « 2719 » de dbo.t_OrderLines.n_MenuId)
ORDRE PAR dbo.CreateOrder.n_OrderOriginallyPlacedTime
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
@TodayDayOfWeek " de " codeSnippet778767 d'id= " de
DECLARE de class=
DÉCLARER la date-heure de @EndOfPrevWeek
DÉCLARER la date-heure de @StartOfPrevWeek
PLACER le @TodayDayOfWeek = le datepart (dw, GetDate ())
PLACER le @EndOfPrevWeek = le DATEADD (densité double, - @TodayDayOfWeek, GetDate ())
PLACER le @StartOfPrevWeek = le DATEADD (densité double, - (@TodayDayOfWeek+6), GetDate ())
CHOISIR 100) POUR CENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, le dbo. Plu.Plu, le dbo. Plu.ItemName, le dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum de DESSUS (, 
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount 
De dbo.t_OrderPayment COMPLÈTEMENT EXTERNE JOINDRE
                      dbo.CreateOrder SUR dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID ET 
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum COMPLÈTEMENT EXTERNES SE JOIGNENT
                      dbo.t_OrderLines SUR dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum COMPLÈTEMENT EXTERNE SE JOIGNENT
                      dbo. Plu SUR dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
LÀ OÙ (dbo.t_OrderLines.nStoreID = « 528 ») ET (dbo.CreateOrder.nStoreID = « 528 ») ET (<> « 6 » de dbo.CreateOrder.n_StatusFlags) ET 
                      (<> « 26 » de dbo.t_OrderLines.n_Type) ET (<> « 18 » de dbo.t_OrderLines.n_Type) ET (dbo.CreateOrder.n_OrderOriginallyPlacedTime ENTRE 
CONVERTI (VARCHAR, @STARTOFPREVWEEK, 7)
ET
CONVERTI (VARCHAR, @ENDOFPREVWEEK+1,7))
 ET (<> « 2719 » de dbo.t_OrderLines.n_MenuId)
ORDRE PAR dbo.CreateOrder.n_OrderOriginallyPlacedTime
class= de

Réponse : La pleine semaine dernière dans le SQL

Essayer d'employer le code ci-joint. Cela fonctionne seulement très bien si vous courez seulement le lundi.

DÉCLARER LE @TODAYDAYOFWEEK INTERNATIONAL
DÉCLARER la date-heure de @EndOfPrevWeek
DÉCLARER la date-heure de @StartOfPrevWeek
PLACER le @TodayDayOfWeek = le datepart (dw, GetDate ())
PLACER le @EndOfPrevWeek = le CONVERTI (VARCHAR, DATEADD (densité double, - (@TodayDayOfWeek-2), GetDate ()), 112) + « 7h00 »
PLACER le @StartOfPrevWeek = le CONVERTI (VARCHAR, DATEADD (densité double, - (@TodayDayOfWeek+5), GetDate ()), 112) + « 8h00 »
CHOISIR 100) POUR CENT dbo.CreateOrder.n_OrderOriginallyPlacedTime, le dbo. Plu.Plu, le dbo. Plu.ItemName, le dbo. Plu.Price, dbo.t_OrderLines.n_Amount, dbo.t_OrderLines.n_OrderNum de DESSUS (,
                      dbo.t_OrderLines.n_Type, dbo.t_OrderLines.n_MenuId, dbo.t_OrderPayment.n_Order, dbo.t_OrderPayment.n_PayAmount
De dbo.t_OrderPayment COMPLÈTEMENT EXTERNE JOINDRE
                      dbo.CreateOrder SUR dbo.t_OrderPayment.nStoreID = dbo.CreateOrder.nStoreID ET
                      dbo.t_OrderPayment.n_Order = dbo.CreateOrder.n_OrderNum COMPLÈTEMENT EXTERNES SE JOIGNENT
                      dbo.t_OrderLines SUR dbo.CreateOrder.n_OrderNum = dbo.t_OrderLines.n_OrderNum COMPLÈTEMENT EXTERNE SE JOIGNENT
                      dbo. Plu SUR dbo.t_OrderLines.n_MenuId = dbo. Plu.n_MenuId
LÀ OÙ (dbo.t_OrderLines.nStoreID = « 528 ») ET (dbo.CreateOrder.nStoreID = « 528 ») ET (dbo.CreateOrder.n_StatusFlags <> « 6 ») ET
                      (dbo.t_OrderLines.n_Type <> « 26 ») ET (dbo.t_OrderLines.n_Type <> « 18 ») ET (dbo.CreateOrder.n_OrderOriginallyPlacedTime ENTRE
@StartOfPrevWeek
ET
@EndOfPrevWeek
 ET (dbo.t_OrderLines.n_MenuId <> « 2719 »)
ORDRE PAR dbo.CreateOrder.n_OrderOriginallyPlacedTime
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us