Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2008 sélectionne les données uniquement entre le mois et l'année

Votre première solution est presque là, mais elle est plus compliquée que nécessaire et ne fonctionnera pas de toute façon. Il manquera toutes les lignes du dernier jour du mois de fin.

Vous pouvez ajouter un mois au end month puis utilisez BETWEEN le premier de chaque mois. ex.

start month: 9 , start year: 2011 end month: 3, end year: 2012

BETWEEN '2011-09-01' AND '2012-04-01'

ou, comme le souligne JNK, ce sera mieux :

DataDelega >= '2011-09-01' AND DataDelega < '2012-04-01'

Vous devrez ajouter une certaine logique pour gérer le end month étant décembre, mais cela semble être la façon la plus simple de le faire.