【问题标题】:Check if current date is between 2 dates in MySQL检查当前日期是否在 MySQL 中的 2 个日期之间
【发布时间】:2019-10-09 08:30:59
【问题描述】:

我的数据库中有一个合同表,这些合同有一个开始日期和一个结束日期。如果当前日期晚于结束日期,如何更改它们的活动状态?

我已经想通了,我会用一个每天都会执行的存储过程或类似的东西来做这件事。我的问题是,我不知道如何检查表格中的每一行。这似乎是非常基本的东西,但我想不出任何解决方案。

我找到了this 响应,它看起来很有希望,但恐怕我不明白它应该如何工作。

我非常感谢任何和所有的指针。

编辑:我找到了解决方案,但我解决问题的方法很遥远。

【问题讨论】:

  • 要更新所有相关行,您编写一个 UPDATE 查询并在 WHERE 子句中指定您实际想要应用更新的行的条件
  • startdateenddate 是否定义为 DATE 或 DATETIME 或 TIMESTAMP 数据类型?
  • 所以UPDATE table SET status=0 WHERE CURDATE() > enddate
  • @RiggsFolly 他们是约会时间
  • 然后看上面的评论

标签: mysql stored-procedures


【解决方案1】:

感谢@RiggsFolly我找到了解决办法:

UPDATE contract_conclusion SET is_active=0 WHERE CURDATE() > date_end_contract_conclusion;

【讨论】:

  • 虽然这可能会解决您的问题,但它肯定不能满足标题中提出的问题。
  • @Strawberry 为什么不呢?这只是意味着我完全错误地解决了这个问题,更多的是从 PHP-Coder 的角度来看,而不考虑面向数据库的方法。所以现在我设法以应该解决此类问题的方式来解决它,而不是按照我最初打算的方式。
猜你喜欢
  • 2012-11-13
  • 2014-06-17
  • 2017-05-21
  • 1970-01-01
  • 2013-05-16
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多