Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ronaldosdb

comparar campos de data

Recommended Posts

Olá turma...Encontrei um post relacionado a essa duvida mas so para confirmar...Tenho uma tabela em meu banco com dois campos em formato DATE (0000-00-00)O primeiro campo é a data atual e o segundo é essa data mais 30 dias...Preciso que a linha seja apagada após expirar o prazo, ou seja, apos passar esses trinta dias....A logica seria fazer com q a linha dessa data (ja com os 30 dias) fosse apagada caso ela fosse maior do que a data atual (date) nao é isso?Bom, to quebrando a cabeca com a sintaxe, se alguem puder ajudar...VleuRonaldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

delete from Tabela where datediff(dd, dt_criada, dt_atual) > 30Vai pegar a diferença em dias e ver se é maior que 30.Presumindo que dt_atual seja hoje.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, aproveitando o gancho aqui... E se eu quisesse excluir uma linha, só que ao invés de ser daqui a 30 dias, for daqui a 20 minutos? Estou com esse probleminha e não estou conseguindo resolver...Existe alguma função no MYSQL que seja parecida, por exemplo, com a SETTIMEOUT do JavaScript???VALEWWW!!! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

berko, é só colocar a data da mesma forma e dizer para aumentar os minutos. Que é midelete from Tabela where datediff(mi, dt_criada, dt_atual) > 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Deixa eu ver se entendi:

- Primeiro eu faço um insert com a data Atual:

insert into usuarios values (1,'teste','2005-11-08 12:20:50');

 

- Aí depois mando essa instrução:

delete from usuarios where datediff(mi, '2005-11-08 12:20:50', '2005-11-08 12:31:10') > 20

 

Seria isso??

 

VALEWWWWWW!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

NaPraia, eu estava pensando aqui.... algo assim não funciona?

Obs.: não é para deletar a linha... só para apresentar.

 

select area from usuarios where minute(now()) > (minute(dataaux) + 5);

 

FLOW!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos com calma. Essa função MINUTE eu não conheço.se você quer mostrar a área que foi cadastrada até 5 minutos atrás, faz assim:select area from Usuarios where datediff(mi,dataaux,getdate()) > 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm.... entendi! :D Só mais uma coisa.... esse método GETDATE() retorna o mesmo que o NOW()???VALEWW!! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que é.não lembro se o NOW() vem completo.O getdate() traz a data e hora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.