我使用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"
Run Code Online (Sandbox Code Playgroud)
导致问题的函数是DATE_SUB和DATE_ADD.
是否有一个解决方法,我可以使这项工作或更改查询而不破坏它的mysql?
agu*_*ina 12
最后我能够解决它.我不得不改变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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2568 次 |
| 最近记录: |