我正在尝试从sqlite3数据库中获取当前周的记录,或者至少获取当前日期和未来7天之间的所有记录,我已经通过BETWAGE方法完成了这项工作,但它不能正常工作,并且它从下一年中提取记录。
代码:
self.con = sqlite3.connect('car dealership.db')
self.cursorObj = self.con.cursor()
date = datetime.now()
now = date.strftime(('%d-%m-%Y'))
self.bb = datetime.now() + timedelta(days=7)
self.newbb_week = self.bb.strftime('%d-%m-%Y')
self.buying_checks_row_main_week = self.cursorObj.execute('SELECT sellername, paymentdate, paymentvalue, car FROM cars_buying_checks WHERE paymentdate BETWEEN (?) AND (?)',(now, self.newbb_week))
self.buying_checks_row_main_week_output = self.cursorObj.fetchall()
问:有没有更好的方法从sqlite3数据库中获取当前一周的记录数据?
1条答案
按热度按时间hec6srdp1#
您的问题是将日期格式设置为
%d-%m-%Y
,这在BETWEEN
表达式中不起作用,因为它使用字符串比较;例如,日期10-01-2999
将介于09-01-2022
和11-01-2022
之间。您需要将它们格式化为%Y-%m-%d
,BETWEEN
才能正常工作。如果表中的日期没有被格式化为
%Y-%m-%d
,那么您将需要更新该表以将它们转换为该格式,使用如下所示: