对于数据库列中的特定日期和时间,如何查询特定日期的所有记录?

2024-09-30 01:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

错综复杂的标题。我将python-sqlalchemy与postgresql数据库结合使用。你知道吗

我有一个存储Events的数据库,每个事件记录都有一个starttime和一个endtime列。上述两列的格式如下:

2015-06-22 13:00:00

因此,如何在数据库中查询特定日期的所有Events。从而忽略starttimeendtime列的“时间”部分?你知道吗

例如,我试过:

query = Event.query.filter(Event.starttime=='2015-06-22', Event.endtime=='2015-06-22').all()

不管结果如何,我假设这可能是因为缺少hh/mm/ss使得查询“假设”我的意思是00:00:00。你知道吗

我也试过了

query = Event.query.filter(Event.starttime>='2015-06-22', Event.endtime<='2015-06-22').all()

但是这个结果也只有0个结果,我假设是因为和前一个相同的原因。你知道吗

任何帮助都将不胜感激!你知道吗

这是发送到数据库的查询:

SELECT events.id AS events_id, events.summary AS events_summary, events.starttime AS events_starttime, events.endtime AS events_endtime, events.parentcal AS events_parentcal, events.userid AS events_userid 
FROM events 
WHERE events.starttime >= :starttime_1 AND events.endtime < :endtime_1

Tags: eventid数据库标题asallsummaryfilter
1条回答
网友
1楼 · 发布于 2024-09-30 01:27:45

尝试使用实际的datetime对象。炼金术可以解释它们。你知道吗

from datetime import datetime

starttime = datetime.strptime('2015-06-22', '%Y-%m-%d')
endtime = datetime.strptime('2015-06-23', '%Y-%m-%d')
query = Event.query.filter(Event.starttime>=starttime, Event.endtime<endtime).all()

有关解析datetime字符串的更多信息,请查看docs

相关问题 更多 >

    热门问题