Here are some utility functions to make what I posted above easier to
use:

def byYear(column, year):
    return AND(column >= datetime.datetime(1, 1, year),
               column < datetime.datetime(1, 1, year + 1))

def byYearAndMonth(column, year, month):
    return AND(column >= datetime.datetime(month, 1, year),
               column < datetime.datetime(month % 13 + 1, 1,
                                          year + (month + 1) / 13))

Use like so:

Table.select(byYearAndMonth(Table.q.date, 2005, 12))

Reply via email to