TSQL récupérer tous les enregistrements dans le courant du mois/de l'année
J'ai un champ date appelé DateFinished. J'ai besoin d'être en mesure de récupérer tous les enregistrements dont DateFinished est dans le courant du mois/de l'année.
Vous devez vous connecter pour publier un commentaire.
Si vous avez seulement un petit nombre de lignes, cela va faire pour obtenir toutes les lignes où
DateFinished
est en ce mois de cette année.Ce pourrait être assez lent sur un grand nombre de lignes si - dans le cas où l'utilisation
DateAdd
,DatePart
etBETWEEN
est probablement plus approprié, et peut profiter de l'index (je n'ai pas le temps d'écrire une réponse impliquant ceux-ci maintenant!)YEAR()
ouMONTH()
sur votre colonne fondamentalement empêche SQL Server à partir de l'aide de tous les indices. Si la coopérative doit, fréquemment, il pourrait être utile de créer deux calculées, ont persisté colonnes qui contiennent le mois et l'année pour chaque ligne et ensuite interroger sur ceux-ci.Comme une alternative, de ce qui devrait utiliser un index sur DateFinished.