MySQL的日期\子项和日期\加载项H2
我使用MySQL作为我的数据库,使用H2进行测试。我也在使用PlayFramework2.3.x和Scala,但我认为这与问题无关 H2与我在查询中使用的某些函数冲突MySQL的日期\子项和日期\加载项H2,mysql,scala,h2,Mysql,Scala,H2,我使用MySQL作为我的数据库,使用H2进行测试。我也在使用PlayFramework2.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 = "
SELECT *
FROM subscriptions
WHERE active_until >= (DATE_SUB(CURDATE(), INTERVAL 3 DAY))
AND active_until <= (DATE_ADD(CURDATE(), INTERVAL 1 DAY))
AND status = "ACTIVE"
选择*
来自订阅
其中活动时间为>=(日期子项(CURDATE(),间隔3天))
直到我终于能够解决它。我必须用TIMESTAMPDIFF
更改DATE\u ADD
的TIMESTAMPADD
和DATE\u SUB
。然后我更改了当前日期的CURDATE()
。方法的符号也会改变,但对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'
选择*
来自订阅
其中在>=(TIMESTAMPDIFF(第3天,当前日期))之前处于活动状态
和active_,直到我放弃尝试使用H2进行测试,因为两种风格的SQL之间的差异太麻烦了。我不确定TIMESTAMPDIFF
是否是您想要的,因为它应该得到两个时间戳之间的差异,而不是从日期中减去一个时间间隔(请参阅:)但是TIMESTAMPDIFF和TIMESTAMPADD对h2和MySQL都有效吗?