hsqldb と dbunit を使用して、Oracle でサポートされているデータベースをスポット テストしようとしていますが、問題が発生しました。
問題は、次の EJB-QL にあります (少し単純化されています)。
SELECT o
FROM Offer o
WHERE :nowTime
BETWEEN o.startDate AND o.startDate + 7
これは、Oracle のバージョンの SQL でのみ機能するようです。
これを hsqldb と oracle の両方で動作するように変換する最も簡単な方法は何ですか? 引数の間の 2 つを名前付きパラメーターに変更するのは非常に難しいリファクタリングであると仮定します。
o.開始日 + 7
編集:さらに調査を行った後、Oracleは上記のスニペットを次のように変換するようです
o.startdate + INTERVAL '7' 日これは明らかにより標準的ですが、HSQLDB では機能しません。