当我使用 DATEADD 运行查询时,数据库似乎无法识别此功能。当我刚跑步时,select DATEADD(Month, -3, GETDATE())
我得到:
Error code -1, SQL state 42X01: Syntax error: Encountered "<EOF>" at line 1, column 36.
如您所见,我从 hsqldb-2.2.9 添加了 JAR 文件
我在这里想念什么?
当我使用 DATEADD 运行查询时,数据库似乎无法识别此功能。当我刚跑步时,select DATEADD(Month, -3, GETDATE())
我得到:
Error code -1, SQL state 42X01: Syntax error: Encountered "<EOF>" at line 1, column 36.
如您所见,我从 hsqldb-2.2.9 添加了 JAR 文件
我在这里想念什么?
Derby 没有 DATEADD 函数。您需要使用JDBC 函数 timestampadd
来实现这一点:
select {fn TIMESTAMPADD(SQL_TSI_MONTH, -3, CURRENT_TIMESTAMP)}
from sysibm.sysdummy1
使用 sysdummy1 的替代方法是 ANSI 标准values
子句,它在 Derby 和 HSQLDB 中都有效:
values ({fn TIMESTAMPADD(SQL_TSI_MONTH, -3, CURRENT_TIMESTAMP)})
在 DERBY 中加减一天 select rundate, {fn TIMESTAMPADD(SQL_TSI_DAY, -1, RUNDATE)} from tst.YOUTH
对于 hsqldb:
DATEADD ( , , ) DATEADD ( '月', 3, DATE '2008-11-22' )
尝试一下
选择 DATEADD(月,-3,'2008-11-22')
对于德比:
Derby 支持 JDBC 转义函数 TIMESTAMPADD
TIMESTAMPDIFF(间隔,timestampExpression1,timestampExpression2)
值 {fn timestampadd(SQL_TSI_DAY, 1, timestamp('2010-12-31 23:59:59'))};