sql - 在java中使用sql DATEADD函数

标签 sql derby date-arithmetic dateadd

当我使用 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 文件

enter image description here

我在这里缺少什么?

最佳答案

Derby 没有 DATEADD 函数。您需要使用 JDBC function 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)})

关于sql - 在java中使用sql DATEADD函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138164/

相关文章:

sql - Oracle 存储过程变量命名约定

sql - 在查询末尾插入 ROW,其中包含 SUM 列的总计

sql - 为什么我们必须在 'INSERT ALL' 之后做一个 SELECT ?

php - 在 Laravel Eloquent 中使用子查询将过滤关系的计数列添加到选择中

java - 在 JDBC 中使用日历对象

java - NamingContext 无法转换为数据源?

java - Derby 战的直播结果

php - 日期时间计算标准化

c# - 仅显示 API 抓取数据后 90 天内的结果

javascript - jQuery:将字符串变量传递给日期对象