我需要帮助来创建查询,以便在没有时间的情况下比较日期与时间和日期。我正在使用python访问db(pypyodbc)。
在数据库中,我有一个包含日期/时间(包括时间)的列,在python中我有一个datetime对象(没有时间)。
我想编写一个sql查询,只比较两者的日期。
例如:
cur.execute("SELECT * FROM MDSSDB WHERE [ValidStartTime] = #2016-05-17#")
ValidStartTime包含时间,因此它不起作用。我只想要ValidStartTime的日期。
答案 0 :(得分:0)
考虑使用MS Access'DateValue
函数,该函数仅提取日期组件(TimeValue
作为时间组件对应项)。
另外,请考虑将日期值作为参数传递,以便更好地与Python环境集成,而无需连接到Access'#
表单。下面传递一个参数作为一个项目的元组:
from datetime import datetime
...
cur.execute("SELECT * FROM MDSSDB WHERE DateValue([ValidStartTime]) = ?", (datetime(2016, 5, 17),))