TSQL SELECT les enregistrements de la date précédente
Je veux sélectionner tous les enregistrements d'une table Log
où la DateAndTime
valeurs de champ (de type datetime
) sont pour le jour, avant aujourd'hui, n'importe quel jour on est.
Donc, si aujourd'hui est 2011-06-08, je veux sélectionner toutes les lignes où DateAndTime
est supérieure ou égale à 2011-06-07 00:00:00
et aussi moins de 2011-06-08 00:00:00
.
J'imagine que l'écueil serait ici c'est le comportement le 1er jour du mois, comme évidemment une date comme 2011-06-00
n'est pas valide et doit être 2011-05-31
.
source d'informationauteur Alex
Vous devez vous connecter pour publier un commentaire.
Pour SQL Server 2008, vous pouvez utiliser ce.
Avant 2008, vous pouvez utiliser cette
Liées à la DBA: Fonte à ce jour est sargable mais est-ce une bonne idée?
Cet exemple suppose SQL Server:
Essentiellement, convertir la date au format aaaammjj (le
112
paramètre), puis vérifiez qu'elle est égale à la date d'hier (getdate()-1
), également converti au format aaaammjj.En supposant que SQL Server
Il devrait inclure opérateur conditionnel et pas entre .
Sinon, il comprend aujourd'hui des enregistrements.
En outre, vous devez mentionner le nom de la colonne et * doit être évitée dans l'instruction select. Ceci peut améliorer les performances