Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Resultado ultimas 12 horas no campo tipo TIME


Tiago A. de Lima

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0
Preciso fazer uma consulta no banco de dados que retorne os registros das ultimas 12 horas, tenho um campo date e outro time no banco, não tenho a minima ideia de como fazer! :blink:

OI Tiago!

Se sua tabela possui poucos registros use assim:

SELECT *

FROM minhatabela

WHERE STR_TO_DATE(CONCAT(`minhadata`, ' ', minhahora), '%Y-%m-%d %H:%i:%s') >= DATE(SUBDATE(NOW(), INTERVAL 12 HOUR));

Se a tabela for maior crie um novo campo com formato datetime,

atualize a data e hora para este novo campo

Exclua os campos data e hora antigos e faça a consulta assim:

SELECT * 
FROM minhatabela
WHERE `minhanovadatahora` >= DATE(SUBDATE(NOW(), INTERVAL 12 HOUR));

Esta segunda forma, se você criar um índice para o novo campo, agilizará a resposta a sua consulta.

Link para o comentário
Compartilhar em outros sites

  • 0
Deu certo valeu!!!

Agora se eu quisesse apenas os das ultimas 12 horas sem usar o campo DATE, apenas o TIME?

Basta não usar o campo data.

Mas vai dar errado, pois qualquer valor antes do meio dia se subtraido de 12 horas dará a data de ontem e, neste caso, porque a data está em um campo separado, a data não será alterada.

Faça como eu falei antes. Passe os valores de data e hora para um único campo com tipo datetime

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...