My understanding is that, in keeping with Interbase v6, Firebird 2.5 does not support the SQL-92 INTERVAL keyword. At least, so suggests this reference and my repeated SQLCODE -104 errors trying to get INTERVALs to work under Firebird’s isql(1).
How, then, do I account for the irregularities in our civil reckoning of time — months aren’t uniformly long, nor are days with savings time and leap adjustments, not to mention the year of confusion, etc. — when performing TIMESTAMP arithmetic under Firebird 2.1?
How can I easily determine “one month earlier” or “one week later” than a given TIMESTAMP? How about “one day later” or “two hours before”?
You may use the DateAdd() and DateDiff() built-in functions.
Alternatively you may also use classic date arithmetic.