MDF*_*MDF 3 mysql trigger date
这是我的第一篇文章(英语不是我的母语)所以我希望我不会把这篇文章搞砸。
我是 MySQL 的新手,但我从 100 多个 youtube 教程和您的大量帖子中学到了很多东西。我使用 PHPmyadmin 和 MySQL Workbench 设计了我的数据库。
在我的表subventions(grants) 中,我创建了一个触发器,以便能够使用我的列subventions.début(beginning)、subventions.fin(end) 和subventions.montant(amount)来计算每年的赠款金额。
因为DATEDIFF只给了我几天的答复,我天真地以为我只需要除以365天就能得到我的答复。如果我的开始日期是 1 月 1 日,结束日期是 12 月 31 日,它会起作用,但如果它在一年中的其他地方出现,则不起作用。这是我的触发器:
SET NEW.montant_annuel = NEW.montant / (datediff(NEW.fin,NEW.début)/365)
Run Code Online (Sandbox Code Playgroud)
如果我使用 365.25(这是一年中的“真实”天数),它也不起作用。
谢谢!:)
小智 5
是的,TIMESTAMPDIFF 是最好的方法:
select TIMESTAMPDIFF(year,'2011-01-01', now() ) ; --> 4
select TIMESTAMPDIFF(year,'2011-08-28', now() ) ; --> 4
select TIMESTAMPDIFF(year,'2011-09-01', now() ) ; --> 3
Run Code Online (Sandbox Code Playgroud)