在Java中使用SQL DATEADD函数 [英] Using sql DATEADD function in java

查看:137
本文介绍了在Java中使用SQL DATEADD函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用DATEADD运行查询时,数据库似乎无法识别此功能。
也在我刚运行时选择DATEADD(Month,-3,GETDATE())我得到:

When I run queries using DATEADD it seems that the database does not recognize this function. also when I just run select DATEADD(Month, -3, GETDATE()) I'm getting:

Error code -1, SQL state 42X01: Syntax error: Encountered "<EOF>" at line 1, column 36.

我尽可能地从hsqldb-2.2.9添加了JAR文件参见

I added the JAR file from hsqldb-2.2.9 as you can see

我在这里缺少什么?

推荐答案

Derby没有DATEADD函数。您需要使用 JDBC函数 timestampadd 来实现:

Derby does not have a DATEADD function. You need to use the JDBC function timestampadd to achieve this:

select {fn TIMESTAMPADD(SQL_TSI_MONTH, -3, CURRENT_TIMESTAMP)}
from sysibm.sysdummy1

使用sysdummy1的替代方法是ANSI标准 values 子句在Derby和HSQLDB中均适用:

An alternative to using sysdummy1 is the ANSI standard values clause which works both in Derby and HSQLDB:

values ({fn TIMESTAMPADD(SQL_TSI_MONTH, -3, CURRENT_TIMESTAMP)})

这篇关于在Java中使用SQL DATEADD函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆