A função CURDATE não funciona corretamente para a adição de dias que extrapolam o calendário. Como exemplo, a instrução a seguir retornar uma data inexistente:
// acrescentando 120 dias a data atual > SELECT CURDATE()+120; > 20071325
Para resolver isso é usada uma outra função chamada DATE_ADD, responsável pela soma correta de dias em uma determinada data:
// acrescentando 120 dias a data atual > SELECT DATE_ADD(CURDATE(), INTERVAL 120 DAY); > 2008-04-03
O mesmo pode ser feito para subtrair dias de uma data com a função DATE_SUB.
Vlw, me ajudou bastante essa função!
Deixo aqui meu agradecimento pela função.
Um Abraço e sucesso.
Fabiano Carboni
Muito Obrigada pela função, melhor do que fazer via código de programação.
=)
Cara simplesmente coisa linda de DEUS!!
Muito Obrigado por divulgar =D
Estava pensando em fazer a soma de datas direto no PHP, mas como era um insert no banco resolvi procurar algo direto para melhorar a performance. Muito útil seu post! Obrigado!
Prezados,
veja bem,
Estou precisando pegar uma data no banco de dados mysql e comparar com a data atual, vale lembrar que essa data que buscarei no banco de dados, está la desde o cadastro do usuario. Após essa, comparação, se o resultado for igual a zero, não deixar o usuario fazer login no sistema. ja tenho o sistema, só falta comparar essas suas datas para chegar ao resultado de zero, porque se for maior que zero tera acesso normal ao conteudo restrito.
Tenho um mês e quero que a partir dele me traga os 11 meses anteriores.
Como posso fazer? Estou me batendo um tempão.
Obrigado
Assim:
select * from where = NOW() - INTERVAL 11 MONTH;
bela dica amigo
Prezado amigo,
desde já peço que perdoe minha ignorância!
Como posso fazer para adicionar dias a uma data já armazenada em meu banco mysql?
Att.
Faça um update no campo da tabela que deseja.
update set = where =
Saudações
Obrigado pela tua pronta resposta, amigo! Acho que não me expressei bem. Quero pegar uma data do meu banco (futura, provavelmente) e adicionar ou subtrair dias , para uma previsão por exemplo. Tipo, faltam tantos dias, atrasou tantos dias …
Numa query retornando para um programa?
Da mesma forma como está no post, somente trocando o CURDATE:
SELECT DATE_ADD(campo_data, INTERVAL 120 DAY);
Saudações
Show, amigo! Vou testar!
Valeu!
Grande abraço e obrigado !!!