gpt4 book ai didi

mysql - 从静态日期计算 MySQL 中的年度到期时间

转载 作者:行者123 更新时间:2023-11-29 05:38:20 25 4
gpt4 key购买 nike

这可能很简单,但经过一整天不停的编码,我的大脑已经融化了,我的纸很快就用完了......

我正在尝试找出一个年度到期公式以在存储过程中进行计算。

简化表:

Security_Table
-----------------
User_ID [int]
Join_Date [DateTime]
Expired [VARCHAR]

因此,如果在 2010-01-11 加入的用户 Expired 今天将更新为 "TRUE",对于在 2009-01-11 加入的用户也是如此这是一个经常性的到期。

我每天通过计划任务运行程序,比较日期和月份就足够了吗?明显占了闰年。

UPDATE Security_Table SET Expired = 'TRUE' WHERE DATE_FORMAT(Join_Date,'%m-%d') = DATE_FORMAT(NOW(),'%m-%d')

谢谢你们。

最佳答案

是的,您可以使用WHERE month = month and date = date(注意 2 月 29 日作为加入日期。)

然而,这确实意味着您必须扫描整个表/索引来寻找匹配项。如果您有一张大 table ,这可能是个问题。

我认为在这种情况下,您最好设置一个到期日期值。然后检查...

WHERE
expiry_date <= CURDATE()

当有人续订时,您可以更新到期时间。 SET expiry_date = DATE_ADD(expiry_date, INTERVAL 1 YEAR)。您可能会以 12 个月的价格获得 13 个月的新报价,设置到期时间可以让您像那样灵活。它甚至不受 2 月 29 日问题的影响。在可靠性方面;如果你的批处理失败了,晚一天运行它不会让你错过很多人......

关于mysql - 从静态日期计算 MySQL 中的年度到期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8822459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com