Tiago A. de Lima Postado Agosto 23, 2010 Denunciar Share Postado Agosto 23, 2010 (editado) 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: Editado Agosto 26, 2010 por Denis Courcy Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Agosto 23, 2010 Denunciar Share Postado Agosto 23, 2010 Qual o banco de dados? Link para o comentário Compartilhar em outros sites More sharing options...
0 Tiago A. de Lima Postado Agosto 23, 2010 Autor Denunciar Share Postado Agosto 23, 2010 Qual o banco de dados?Desculpa esqueci de dizer, o banco de dados é mysql! Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Agosto 23, 2010 Denunciar Share Postado Agosto 23, 2010 Movendo PHP » MySQL. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Agosto 24, 2010 Denunciar Share Postado Agosto 24, 2010 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 minhatabelaWHERE 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 campoExclua 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 More sharing options...
0 Tiago A. de Lima Postado Agosto 26, 2010 Autor Denunciar Share Postado Agosto 26, 2010 Deu certo valeu!!!Agora se eu quisesse apenas os das ultimas 12 horas sem usar o campo DATE, apenas o TIME? Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Agosto 26, 2010 Denunciar Share Postado Agosto 26, 2010 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 More sharing options...
0 Tiago A. de Lima Postado Agosto 26, 2010 Autor Denunciar Share Postado Agosto 26, 2010 Vou fazer isso, obrigado! Foi de muita ajuda! Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Tiago A. de Lima
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:
Editado por Denis CourcyLink para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados