【发布时间】:2021-09-15 18:08:08
【问题描述】:
拜托,我是 MYSQL 数据库和 Python 的新手。我创建了一个“休假管理系统”,它是一个使用 python、Tkinter 和 MYSQL 的桌面应用程序。我编写了一个 SQL 代码,将“当前日期”与“休假结束日期”进行比较。当然,只要“当前日期”大于“休假结束日期”,“休假状态”应更新为“已过期”,否则应更新为“进行中”。现在的问题是代码只能在当月工作。 示例:如果休假结束日期 = 25/09/2021,“休假状态”将更新为“进行中”,这是我期望的结果。但是如果休假结束日期 = 09/10/2021,休假状态更新为已过期,我观察到一旦“休假结束日期”月份大于“当前日期”月份,“休假状态”将更新为“过期”是错误的。下面是代码:
my_cursor.execute(''' UPDATE leaves
SET leave_status =
CASE
WHEN DATE_FORMAT(current_date(), '%d/%m/%y') > leave_end_date THEN 'EXPIRED'
ELSE 'IN PROGRESS'
END
''')
注意:请我使用日历选择器来输入日期,这就是我使用此 Date_format() 函数的原因。如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
leave_end_date是什么类型?