gpt4 book ai didi

mysql - 如何一次性添加MySQL间隔?

转载 作者:行者123 更新时间:2023-11-29 13:50:17 25 4
gpt4 key购买 nike

请查看以下查询:

UPDATE `un_test` 
SET `test_time` = DATE_ADD(`test_time`, INTERVAL 'test_minute' MINUTE)
WHERE deliver_at_user < NOW();

如果数据库时间小于当前时间,则会增加 5 分钟。

现在,如果 test_time 时间超过 5 分钟,则执行此查询后,test_time 仍然不满足条件。

我正在寻找什么,是否有任何快捷方式可以将 test_month 的倍数一次添加到 test_time 字段,以便满足条件/ test_time 已更新为下一个可能的有效时间?

我正在寻找 SQL 查询级别的解决方案,并且不想为此编写 PHP 脚本。

提前致谢。

最佳答案

update un_test
set test_time = date_add(test_time, interval
cast(ceiling(timestampdiff(minute, test_time, now())/test_minute)
* test_minute as int) minute)
where deliver_at_user < now()

这或多或少应该有效。 :D

接下来的逻辑是这样的

  1. 计算 test_time 滞后了多少,以及随后需要添加多少轮 test_month。
  2. 小数点向上舍入。这是最重要的一点,因为这将确保生成的 test_time 大于 sysdate
  3. 将结果与 test_month 相乘,然后添加到 test_month。

关于mysql - 如何一次性添加MySQL间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16785868/

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