gpt4 book ai didi

java - 将 Oracle 日期算法转换为在 HSQLDB 中工作

转载 作者:行者123 更新时间:2023-11-30 06:38:44 24 4
gpt4 key购买 nike

我正在尝试使用 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 + INTERVAL '7' DAY
这显然更标准,但在 HSQLDB 中不起作用。

最佳答案

HSQLDB 2.0(2010 年发布)支持该语法。

SELECT o 
FROM Offer o
WHERE nowTime
BETWEEN o.startDate AND o.startDate + 7 DAY

它也支持

o.startdate + INTERVAL '7' DAY

更新:

从HSQLDB 2.2开始引入的ORA兼容模式,也支持表达式o.startDate + 7

关于java - 将 Oracle 日期算法转换为在 HSQLDB 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1931484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com