Фильтр sqlalchemy sqlite datetime столбец по дате - PullRequest
1 голос
/ 09 мая 2020

У меня есть столбец datetime в базе данных (с именем TestBase), например:

INDEX   DateTimeColumn
...     ...
1241    2010-07-26 07:04:05 
1242    2010-07-26 07:04:07 
1243    2010-07-26 07:04:12 
1244    2010-07-27 10:59:53

Я хочу получить все уникальные дни в столбце.

Однако использование отдельной функции в sqlalchemy как таковой: distinct(TestBase.DateTimeColumn) не работает. Поскольку он учитывает время в метке времени и считает каждую запись уникальной.

Как написать запрос, который игнорирует время в метке времени и просто возвращает список уникальных дат?

1 Ответ

2 голосов
/ 09 мая 2020

Используйте функцию DATE базы данных, чтобы усечь дату и время до даты. Доступ к функции DATE осуществляется через sqlalchemy.sql.func:

from sqlalchemy import sql

q = session.query(sql.func.date(MyModel.datetimecolumn))
...