Ir para conteúdo

POWERED BY:

Arquivado

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

Dadocoxa

[Resolvido] Consulta Ha um ano atras

Recommended Posts

Mais uma vez apelo aos amigos que sabem !

 

Na minha tabela tenho um campo chamado data tipo DATE.

 

quero fazer uma consulta de noticia que aconteceram a um ano atras para aquele mesmo dia

 

Tou apanhando .... se alguem puder me ajudar agradeco

 

sql = "select * from tabela where data = ???? ";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá pra fazer com PHP + MySQL mas eu prefiro direto no MySQL...

 

Para datas salvas como AAAA-MM-DD HH:MM:SS use:

SELECT * FROM `noticias` WHERE `data` = DATE_SUB(NOW(), INTERVAL 1 YEAR)

Para datas salvas como AAA-MM-DD (sem hora), use:

SELECT * FROM `noticias` WHERE `data` = DATE_SUB(CURDATE(), INTERVAL 1 YEAR)

No PHP seria:

  <?php
  // AAAA-MM-DD HH:MM:SS
   $data = date('Y-m-d H:i:s', strtotime('-1 year'));
   $sql = "SELECT * FROM `noticias` WHERE `data` = '" . $data . "'";
  
  // AAAA-MM-DD
   $data = date('Y-m-d', strtotime('-1 year'));
   $sql = "SELECT * FROM `noticias` WHERE `data` = '" . $data . "'";
  ?>
Lembrando que: se você usar o formato AAAA-MM-DD HH:MM:SS provavelmente vai ter que cobrir todo o dia fazendo um BETWEEN entre 00:00:00 e 23:59:59 daquele dia.

 

http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa deu certinho

 

Valew

 

 

 

  Em 07/08/2009 at 08:57, '~TiuTalk~' disse:

Dá pra fazer com PHP + MySQL mas eu prefiro direto no MySQL...

 

Para datas salvas como AAAA-MM-DD HH:MM:SS use:

SELECT * FROM `noticias` WHERE `data` = DATE_SUB(NOW(), INTERVAL 1 YEAR)

Para datas salvas como AAA-MM-DD (sem hora), use:

SELECT * FROM `noticias` WHERE `data` = DATE_SUB(CURDATE(), INTERVAL 1 YEAR)

No PHP seria:

  <?php
  // AAAA-MM-DD HH:MM:SS
   $data = date('Y-m-d H:i:s', strtotime('-1 year'));
   $sql = "SELECT * FROM `noticias` WHERE `data` = '" . $data . "'";
  
  // AAAA-MM-DD
   $data = date('Y-m-d', strtotime('-1 year'));
   $sql = "SELECT * FROM `noticias` WHERE `data` = '" . $data . "'";
  ?>
Lembrando que: se você usar o formato AAAA-MM-DD HH:MM:SS provavelmente vai ter que cobrir todo o dia fazendo um BETWEEN entre 00:00:00 e 23:59:59 daquele dia.

 

Imagem Postada

 

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.