我正在尝试使用 hsqldb 和 dbunit 对 Oracle 支持的数据库进行现场测试,但遇到了障碍。
问题在于以下 EJB-QL(稍微简化了一点):
SELECT o
FROM Offer o
WHERE :nowTime
BETWEEN o.startDate AND o.startDate + 7
这似乎只适用于 Oracle 的 SQL 版本。
我将其转换为在 hsqldb 和 oracle 中工作的最简单方法是什么?假设将参数之间的两个更改为命名参数是一个非常困难的重构,因此我将支持提供更标准化模拟的答案
o.startdate + 7
编辑:在做了更多研究之后,看起来 Oracle 将上面的代码片段转换为
o.startdate + 间隔“7”天这显然更标准,但在 HSQLDB 中不起作用。