Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using sql DATEADD function in java

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

enter image description here

What am I missing here?

like image 461
Onca Avatar asked Jan 15 '23 17:01

Onca


1 Answers

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)})
like image 85
a_horse_with_no_name Avatar answered Jan 26 '23 02:01

a_horse_with_no_name