Boa Tarde,
Hoje acabei me deparando com uma consulta SQL que estava me deixando com a pulga atrás da orelha (hehe), e resolvi compartilhar a solução…
Eu necessitava fazer uma consulta entre duas datas, digamos, entre 30-06-2008 e 30-07-2008, e após muito apanhar utilizando operadores de > e <, achei uma solução melhor:
select * from tabela where data between 2008-06-30 and 2008-07-30
Assim, o Mysql filtra todos os resultados entre essas datas e os retorna corretamente
Quero ver se assim que tiver um tempo, escrevo um patch para fazer as consultas via find do ActiveRecord…
Abraços


Eu uso o between com frenquencia, que e’o mesmo que:
select * from tabela where data >= '2008-06-30' and data <= '2008-07-30'
e uma dica de performance quado o campo data for datetime no mysql é usar o cast.
select * from tabela where data >= cast('2008-06-30' as datetime) and data <= cast('2008-07-30' as datetime)