Usuário com melhor resposta
3 últimos meses

Pergunta
-
Bom dia, tenho uma tabela com um campo data, gostaria de saber como selecionar os registros dos últimos três meses.
Obrigado.
- Editado Eduardo Pereira Silva segunda-feira, 18 de maio de 2009 12:59
Respostas
-
Ola Eduardo
Segue um exemplo com o datepart
declare @table table (cod int identity(1,1), data datetime) insert into @table values('20090101') insert into @table values('20090201') insert into @table values('20090301') insert into @table values('20090401') select * from @table where month(data) >= DATEPART(month, GETDATE())-3
att
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!- Marcado como Resposta Eduardo Pereira Silva segunda-feira, 18 de maio de 2009 13:47
Todas as Respostas
-
Ola Eduardo
Segue um exemplo com o datepart
declare @table table (cod int identity(1,1), data datetime) insert into @table values('20090101') insert into @table values('20090201') insert into @table values('20090301') insert into @table values('20090401') select * from @table where month(data) >= DATEPART(month, GETDATE())-3
att
Marcelo Fernandes
MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!- Marcado como Resposta Eduardo Pereira Silva segunda-feira, 18 de maio de 2009 13:47
-
Bom Dia,
Utilizar funções como MONTH e DATEPART ajudam, pois, são bem claras e intuitivas.
Em contrapartida são verdadeiras fontes de TABLESCAN, pois, mesmo que você tenha um índice sobre o campo Data, ao usar o MONTH o mesmo será ignorado. Isso pode não fazer diferença no ambiente de desenvolvimento mas já na produção...
Sugiro a seguinte alternativa:
declare @table table (cod int identity(1,1), data datetime) insert into @table values('20090101') insert into @table values('20090201') insert into @table values('20090301') insert into @table values('20090401') select * from @table where Data >= DATEADD(M,-3, GETDATE())
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.spaces.live.com
Como validar e-mails no SQL Server
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!569.entry
Classifique as respostas. O seu feedback é imprescindível