MONTH and YEAR functions do not exist in SQLite3. You can do this approach (taken from my current project):
model entry.rb:
def self.all_entries_year(year, user_id) where('entries.user_id = :id', :id => user_id ). where(':first_day <= entries.date AND entries.date <= :last_day', { :first_day => Date.new(year, 1, 1), :last_day => Date.new(year, 12, 31) }). order('date desc') end
EDIT:
Put this in your model: sales.rb (suppose it has a field date)
def self.show_sales_for_current_month(year, month) mydate = Date.new(year, month, 1) where(':first_day <= sales.date AND sales.date <= :last_day', { :first_day => mydate, :last_day => mydate.at_end_of_month }). order('date') end
source share