Preciso de um select que me retorne todos os registros em que o campo data seja mais antigo que 30 dias.
Simples, mas não tenho idéia…
O banco é SQL Server 2008.
Grato
Preciso de um select que me retorne todos os registros em que o campo data seja mais antigo que 30 dias.
Simples, mas não tenho idéia…
O banco é SQL Server 2008.
Grato
Cara… primeiro vc precisa da data atual, correto???
Depois vc tem q tirar 30 dias!!!
Veja como fazer isso… subtrair datas:
http://www.guj.com.br/posts/list/23768.java
Pega a data subtraida e faz o seguinte
Select * FROM tabela WHERE campodata < datafinal
Eu n sei como esta o seu banco más acho q a data deve estar no formato yyyy-mm-dd… Eu uso mysqll… não sei como funciona no SQL Server… talvez a sintaxe mude um pouco más o caminho é esse… da uma lida ai e estuda um pouco…
ACho q é isso…
ao invés de colocar a data na string sql, usa PreparedStatement e passa parametros
“SELECT * FROM TABELA WHERE DATA < ?”
e depois
ps.setDate(1,data);
Oi
você poderia fazer algo parecido com isso, talvez tenha uma consulta mais facil ou mais rapida mas isso funciona
SELECT * FROM tabela
where SUBSTRING(CONVERT(varchar(10), data, 103), 7, 4)+SUBSTRING(CONVERT(varchar(10), data, 103), 4, 2)+SUBSTRING(CONVERT(varchar(10), data, 103), 1, 2) > 20081205
vai trazer todos os registros cuja data seja maior que 05/12/2008
Realmente. O que o filipenf falou é mais correto… só n quis complicar…heheheh
[list]
Select *
from Tabela
Where TABELA.DATA - CURRENT_DATE > 30
[/list]
O Current_Date pega a data atual isso eu sei que funciona no FireBird
Testa ai e ve se funciona no SQLServer
e posta ai depois
Isso que o Vinny sugeriu tem a vantagem também de a data/hora utilizada ser a do servidor onde está o banco de dados, evitando assim o problema de a estação estar com a data do ano passado. Claro isso se for app desktop.
Ainda assim há a possibilidade de vc fazer:
Select *
from Tabela
Where TABELA.DATA - CURRENT_DATE > ?
E passar a qtd de dias por parametro…
Tentei resolver usando só sql, mas tive que usar programação afinal de contas…
Obrigado a todos pelo esforço.
Double posting
[quote=bruno_7317]Tentei resolver usando só sql, mas tive que usar programação afinal de contas…
Obrigado a todos pelo esforço.[/quote]
vc testou o que eu postei??