【发布时间】:2021-04-19 08:34:00
【问题描述】:
创建一个桌面应用程序来计算学生的成绩,这样每个学生的成绩都有一个日期列,这样我就可以使用 Tkinter 的日历计算两个日期之间的总和。
query = "SELECT SUM (scores)
FROM sscores
WHERE acttype = ?
AND sid = ?
AND ssub = ?
AND sdate BETWEEN '"+ ft1.get() +"' AND '"+ft2.get()+"'"
c.execute(query, (sact1, stuid, f1.get()))
由于某种原因,当我在一月份的任何月份之前查询时,即使我输入的唯一分数是在一月份的日期,它也没有给出查询结果。 当我选择一月份之前的日期和一月份之后的日期时,不会有查询结果但是如果我选择一月份的日期和一月份之后的日期,它会给我正确的查询结果。奇怪的是,即使我选择一月份的日期,它会给我正确的查询结果,但是当我选择一月份之前的任何一个月时,它什么也没给我。根据我的理解,选择一月之前的一个月和选择一个月仍然意味着分数的日期介于两者之间,但不会导致正确的日期。
【问题讨论】:
-
看起来您的 BETWEEN 充当字符串类型,而不是日期类型比较。 PS。删除了不相关的标签。
-
是的,日期是 str 而不是 date。必须弄清楚如何将其转换为日期类型