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.
I added the JAR file from hsqldb-2.2.9 as you can see
What am I missing here?
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
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)})
在DERBY中添加或减少一天从tst.YOUTH中选择rundate,{fn TIMESTAMPADD(SQL_TSI_DAY,-1,RUNDATE)}
For hsqldb:
DATEADD ( , , ) DATEADD ( 'month', 3, DATE '2008-11-22' )
Try it
select DATEADD(Month, -3, '2008-11-22')
For Derby:
Derby supports the JDBC escape function TIMESTAMPADD
TIMESTAMPDIFF( interval, timestampExpression1, timestampExpression2 )
values {fn timestampadd(SQL_TSI_DAY, 1, timestamp('2010-12-31 23:59:59'))};
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.