Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2008 seleciona dados apenas entre mês e ano


Sua primeira solução está quase lá, mas é mais complicada do que precisa e não funcionará de qualquer maneira. Ele perderá todas as linhas do último dia do mês final.

Você pode adicionar um mês ao end month e depois use BETWEEN no primeiro dia de cada mês. por exemplo.

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

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

ou, como JNK aponta, isso será melhor:

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

Você precisará adicionar alguma lógica para lidar com o end month sendo dezembro, mas esta parece ser a maneira mais simples de fazê-lo.