How to get month and year from Date field in sqlalchemy?

python, sql, sqlalchemy

Solution

You can use following constructs to filter the `Date` column using either `year` or `month`:

.filter(extract('year', Foo.Date) == 2012)
.filter(extract('month', Foo.Date) == 12)

And `group_by` is also possible:

.group_by(sqlalchemy.func.year(Foo.Date), sqlalchemy.func.month(Foo.Date))

Now I haven't tested it, but I assume that this might be slow because these queries result in full table scans, therefore I suggest you invest some time and learn how to use composite columns.

Note: `extract()` is imported from `sqlalchemy.sql`

Problem

The result should be Date object Since the day cannot be 'removed', set it to say, 1st day of the month. Leaving only Month, Year

Original source

Related problems