user1608977 user1608977 - 16 days ago 10
Python Question

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

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

Answer

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.

Comments