Я пытаюсь провести выборочное тестирование базы данных, поддерживаемой Oracle, с помощью hsqldb и dbunit, но наткнулся на загадку.
Проблема в следующем EJB-QL (немного упрощенном):
SELECT o
FROM Offer o
WHERE :nowTime
BETWEEN o.startDate AND o.startDate + 7
Кажется, это работает только в версии Oracle для Oracle.
Какой самый простой способ конвертировать это для работы в hsqldb и oracle? Предположим, что изменение двух аргументов на именованные параметры является очень сложным рефакторингом, поэтому я предпочту ответы, которые предоставляют более стандартизированный аналог
o.startdate + 7
EDIT:
После дополнительных исследований, похоже, Oracle преобразует приведенный выше фрагмент в
o.startdate + INTERVAL '7' DAY
, который, по-видимому, является более стандартным, но не работает в HSQLDB.