gpt4 book ai didi

mysql - MySQL 的 H2 中的 DATE_SUB 和 DATE_ADD

转载 作者:可可西里 更新时间:2023-11-01 06:32:33 28 4
gpt4 key购买 nike

我使用 MySQL 作为我的数据库,使用 H2 进行测试。我也在使用 playframework 2.3.x 和 Scala,但我认为这对问题的目的无关紧要。

H2 与我在查询中使用的某些函数有冲突

SELECT *
FROM subscriptions
WHERE active_until >= (DATE_SUB(CURDATE(), INTERVAL 3 DAY))
AND active_until <= (DATE_ADD(CURDATE(), INTERVAL 1 DAY))
AND status = "ACTIVE"

导致问题的函数是 DATE_SUB 和 DATE_ADD。

是否有一种变通方法可以使它工作或更改查询而不破坏 mysql 的查询?

最佳答案

终于解决了。我必须将 DATE_ADD 更改为 TIMESTAMPADD 并将 DATE_SUB 更改为 TIMESTAMPDIFF。然后我将 CURDATE() 更改为 CURRENT_DATE。方法的符号也发生了变化,但对 H2 和 My 都有效。

SELECT *
FROM subscriptions
WHERE active_until >= (TIMESTAMPDIFF(DAY, 3, CURRENT_DATE))
AND active_until <= (TIMESTAMPADD(DAY, 1, CURRENT_DATE))
AND status LIKE 'ACTIVE'

关于mysql - MySQL 的 H2 中的 DATE_SUB 和 DATE_ADD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304314/

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