python - 如何选择两个日期之间的数据,并将日期作为变量
问题描述
使用 Sqlite3 和 Python,我希望能够以日期作为变量获取两个日期之间的数据。例如
date1 = 2020-10-16
date2 = 2020-10-18
"SELECT SUM (total) FROM table WHERE date BETWEEN '%"+date1+"%' AND '%"+date2+"%'"
如何让 BETWEEN 获取变量中的日期。当我运行它并打印查询时,总和为 0,即使我将值放在 (total) 中的行内
解决方案
您的变量应该是字符串:
date1 = "2020-10-16"
date2 = "2020-10-18"
因为像这样的变量:
date1 = 2020-10-16
被评估为1994
= 2020 - 10 -16。
您应该?
在查询中为 2 个日期参数使用占位符:
query = "SELECT SUM(total) AS total FROM tablename WHERE date BETWEEN ? AND ?"
并在执行查询时传递参数:
curs.execute(query, (date1, date2))