I'm writing an integration test in Grails using GORM.
I want to do something like the following:
delete from Statistic
where stat_date = TO_DATE(:month_year, 'MON-YYYY')
But I get the following error:
java.sql.SQLException: Unexpected token: TO_DATE in statement [delete from statistics where stat_date=TO_DATE(?, 'MON-YYYY')]
I think the error is caused by the in memory database used by GORM (is it H2?) not supporting the to_date function.
Any ideas on how to write the delete SQL so that it works in a test and in live?
As I only really care about the Month and Year one thought I had would be to delete the records where the stat_date is between the first and last date of the given month.
Can any one think of a better way?
Yes, H2 doesn't support TO_DATE, it's in 1.4.x roadmap. Instead you can use the EXTRACT function that exists both in Oracle DB and H2.