Skip to main content

Description

Returns the result of adding a signed integer amount of a calendar unit to a datetime value. A negative amount subtracts. Use AddToDate when you need number-and-part datetime arithmetic (for example, add 3 months, subtract 15 minutes). For ISO 8601 duration strings, use AddDuration. Month arithmetic clamps to the last valid day of the target month, so AddToDate(ToDate('2020-01-31'), 1, 'MM') returns the last day of February.

Syntax

AddToDate(datetime, amount, datepart)

Arguments

  • datetime - datetime expression.
  • amount - integer number of units to add. Negative values subtract.
  • datepart - string identifying the calendar unit. Case-sensitive. One of:
    TokenUnit
    yyyyYears
    MMMonths
    ddDays
    HHHours
    mmMinutes
    ssSeconds
    The tokens match SimpleDateFormat letters exactly. MM (months) and mm (minutes), and HH (hours) and hh, differ only in case, so tokens like DD or Mm are rejected rather than guessed.

Examples

  • AddToDate(ToDate('2020-01-15T00:00:00Z'), 3, 'MM') returns 2020-04-15T00:00:00.000Z
  • AddToDate(ToDate('2020-01-31T00:00:00Z'), 1, 'MM') returns 2020-02-29T00:00:00.000Z
  • AddToDate(ToDate('2020-01-15T12:00:00Z'), -30, 'mm') returns 2020-01-15T11:30:00.000Z
  • AddToDate(ToDate('2020-01-15T00:00:00Z'), 10, 'dd') returns 2020-01-25T00:00:00.000Z

Return value datatype

datetime

Impact of null value

If datetime, amount, or datepart is null, returns null. If the datepart is a non-null value that does not match one of the tokens above, or the call has fewer than three arguments, an exception is thrown.
Last modified on July 6, 2026