<< COT() | FB 2.5 Language Reference | DATEDIFF() >>


Available in: DSQL, PSQL

Added in: 2.1

Changed in: 2.5


Adds the specified number of years, months, weeks, days, hours, minutes, seconds or milliseconds to a date/time value. (The WEEK unit is new in 2.5.)

Result type: DATE, TIME or TIMESTAMP:


 DATEADD (<args>)

 <args>     ::= <amount> <unit> TO <datetime>
                 | <unit>, <amount>, <datetime>

 <amount>   ::= an integer expression (negative to subtract)
   <unit>   ::= YEAR | MONTH | WEEK | DAY
                 | HOUR | MINUTE | SECOND | MILLISECOND
 <datetime> ::= a DATE, TIME or TIMESTAMP expression

  • The result type is determined by the third argument.
  • With TIMESTAMP and DATE arguments, all units can be used. (Prior to Firebird 2.5, units smaller than DAY were disallowed for DATEs.)
  • With TIME arguments, only HOUR, MINUTE, SECOND and MILLISECOND can be used.


 dateadd (28 day to current_date)
 dateadd (-6 hour to current_time)
 dateadd (month, 9, DateOfConception)
 dateadd (-38 week to DateOfBirth)
 dateadd (minute, 90, time 'now')
 dateadd (? year to date '11-Sep-1973')

back to top of page
<< COT() | FB 2.5 Language Reference | DATEDIFF() >>