查询在没有时间的情况下比较日期与时间和日期 - 使用访问db

时间:2017-01-04 15:42:29

标签: python ms-access

我需要帮助来创建查询,以便在没有时间的情况下比较日期与时间和日期。我正在使用python访问db(pypyodbc)。

在数据库中,我有一个包含日期/时间(包括时间)的列,在python中我有一个datetime对象(没有时间)。

我想编写一个sql查询,只比较两者的日期。

例如:

cur.execute("SELECT * FROM MDSSDB WHERE [ValidStartTime] = #2016-05-17#")

ValidStartTime包含时间,因此它不起作用。我只想要ValidStartTime的日期。

1 个答案:

答案 0 :(得分:0)

考虑使用MS Access'DateValue函数,该函数仅提取日期组件(TimeValue作为时间组件对应项)。

另外,请考虑将日期值作为参数传递,以便更好地与Python环境集成,而无需连接到Access'#表单。下面传递一个参数作为一个项目的元组:

from datetime import datetime

...
cur.execute("SELECT * FROM MDSSDB WHERE DateValue([ValidStartTime]) = ?", (datetime(2016, 5, 17),))