Good 4 Denunciar post Postado Dezembro 27, 2012 Criei uma tabela de agenda, aí criei uma coluna chamada data sendo do tipo datetime. Query: SELECT * FROM agenda WHERE data >= '2012-12-20' AND data <= '2012-12-27' ORDER BY data ASC Há apenas um registro com a data assim: 2012-12-27 08:30:00 Mas ele não está pegando este registro, só quando eu altero a query para assim: "... AND data <= '2012-12-28'..." Ou seja, só busca os registros com a data menor do que a de hoje, e não menor igual. Estou pensando seriamente em colocar um OR data LIKE '%2012-12-27%'... :S Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 27, 2012 http://forum.imasters.com.br/topic/466152-listar-registros-dos-proximos-3-dias/page__view__findpost__p__1847381 Compartilhar este post Link para o post Compartilhar em outros sites
Fabiano Abreu 22 Denunciar post Postado Dezembro 27, 2012 Olá Good, O problema esta em sua comparação, pois, o campo na tabela possui data e hora, quando você esta comparando esta adicionando somente data, o banco, por padrão irá adicionar as horas, sendo ela 00:00:00, logo, seria o mesmo que: SELECT * FROM agenda WHERE data >= '2012-12-20 00:00:00' AND data <= '2012-12-27 00:00:00' ORDER BY data ASC Uma solução, force a conversão da data, por exemplo: SELECT * FROM agenda WHERE date(data) >= '2012-12-20' AND date(data) <= '2012-12-27' ORDER BY data ASC Espero ter lhe sido útil, abraços. _ _ Fabiano Abreu Papo Sql - Um blog com tutoriais, dicas e truques sobre SQL Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Dezembro 27, 2012 A solução de Fabiano foi mais fácil e rápido... vlw :D Compartilhar este post Link para o post Compartilhar em outros sites