Sélectionnez tous les dossiers des 'jeunes' de 7 jours
Je veux sélectionner tous les enregistrements de [Orders]
qui ont un [Submissiondate]
moins de 7 jours.
Je suis complètement perplexe. C'est la question je suis d'exécution:
SELECT * FROM [Orders] WHERE ([SubmissionDate] < @SubmissionDate)
Ne fonctionne pas.
Toute avance? avez-vous la solution?
OriginalL'auteur user1269384 | 2012-06-30
Vous devez vous connecter pour publier un commentaire.
Si vous voulez dire que vous souhaitez que les lignes avec
SubmissionDate
entre@SubmissionDate
et@SubmissionDate - 7 days
, alors c'est comment je pourrais mettre en œuvre que dans les instructions Transact-SQL:Noter que
BETWEEN
implique>=
et<=
. Si vous avez besoin d'inégalités strictes, faire quelque chose comme ceci:OriginalL'auteur Andriy M
En supposant que le paramètre sql
@SubmissionDate
est la date (et l'heure). Vous pouvez utiliser la requête suivante qui sera de retour ceux[Orders]
soumis dans les 7 derniers jours:Deux remarques importantes à cette solution:
[Orders]
soumis"aujourd'hui" (jusqu'à ce que le temps de l'exécution de la requête).
Le code suivant est juste pour obtenir la date d'une partie seulement d'une date-heure (extrait de ce que d'autres Fil).
@SubmissionDate
représente la date et l'heure, puis il n'y a pas beaucoup de point à l'aide de l'argument, est-il? Vous pouvez simplement utiliserGETDATE()
ouCURRENT_TIMESTAMP
à la place.Ce que je veux dire c'est, si l'OP est à l'aide d'un argument, alors il est probable (à mon avis) que l'argument représente un arbitraires timestamp, pas toujours au courant.
oui, je vois votre point de vue, peut-être que c'est quelque chose que l'auteur peut clarifier, s'il est prévu que
@SubmissionDate
param. alloue la date actuelle (et de temps). Eh bien, j'essaie toujours d'éviter les requêtes à utiliser directement la date et l'heure fournies par la base de données-serveur et toujours utiliser les paramètres, j'ai donc fait sentir à l'aise avec l'hypothèse que@SubmissionDate
était destiné à allouer la date et l'heure actuelles.OriginalL'auteur Luis Quijada
Vous pouvez également essayer cette DATEDIFF
où GetDate() est la date d'aujourd'hui et la
d
est la différence en joursdevrait vous donner 7 parce que c'est il y a 7 jours
OriginalL'auteur codingbiz
Essayer cette
OriginalL'auteur Vikas Chauhan