blackmind 1 Denunciar post Postado Janeiro 23, 2012 Ola amigos, estou com um pequeno problema, preciso fazer 1 consulta aonde eu preciso pegar o resultado de ontem, nao hoje e ontem, somente ontem, devereria ser algo assim SELECT * FROM hits where date_sub(Now(), interval 1 day) mas continua mostrando a data de hoje, quero so a de ontem se alguem pode me ajudar agradeço Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Janeiro 23, 2012 Creio que falta algo SELECT * FROM hits where minha_data = date_sub(Now(), interval 1 day) minha_data é o campo da tabela que precisa ser comparado. Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Janeiro 23, 2012 SE o campo é tipo "date", tente isso: select * from tabela where minha_data = (curdate() -1); Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Janeiro 23, 2012 SE o campo é tipo "date", tente isso: select * from tabela where minha_data = (curdate() -1); Exatamente isso .. mas o date sub também era pra funcionar .. o engraçado é que se você fizer dessa forma não terá os traços na data, se como é um comparador de igualdade, era pra estar verificando por estes traços também .. mysql> SELECT ( curdate( ) - 1 ) LIKE '2012-01-22' AS `true|false`; +------------+ | true|false | +------------+ | 0 | +------------+ 1 row in set (0.00 sec) O MySQL já se encarrega de formatar uma das datas para um padrão de comparação .. muito bacana isso. Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Janeiro 25, 2012 mas o date sub também era pra funcionar Olá.. funcionou sim, mas c/ curdate mesmo; ficaria assim: select * from hits where minha_data=date_sub(curdate(), interval 1 day); mas só c/ campo tipo date mesmo... Compartilhar este post Link para o post Compartilhar em outros sites