Sql Server Dateadd Function

SQL Server: DATEADD Function

In this post explains how to use the DATEADD function in SQL Server (Transact-SQL) with syntax and examples.

Description

In SQL Server (Transact-SQL), the DATEADD function returns a date after which a certain time/date interval has been added.

Syntax

The syntax for the DATEADD function in SQL Server (Transact-SQL) is:

DATEADD( interval, number, date )

Parameters or Arguments

interval

The time/date interval that you wish to add. It can be one of the following values:

Value (any one of) Explanation
year, yyyy, yy Year interval
quarter, qq, q Quarter interval
month, mm, m Month interval
dayofyear Day of year interval
day, dy, y Day interval
week, ww, wk Week interval
weekday, dw, w Weekday interval
hour, hh Hour interval
minute, mi, n Minute interval
second, ss, s Second interval
millisecond, ms Millisecond interval

number

The number of intervals that you wish to add.

date

The date to which the interval should be added.

Note

  • If you specify a positive value for the number parameter, the DATEADD function will add the interval to the date.
  • If you specify a negative value for the number parameter, the DATEADD function will subtract the interval from the date.
  • If you specify a decimal value for the number parameter, the DATEADD function will only use the integer portion of the number (and discard the decimal portion).

Applies To

The DATEADD function can be used in the following versions of SQL Server (Transact-SQL):

  • SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

Example

Let's look at some SQL Server DATEADD function examples and explore how to use the DATEADD function in SQL Server (Transact-SQL).

For example:

SELECT DATEADD(year, 1, '2014/04/28');
Output: '2015-04-28 00:00:00.000'

SELECT DATEADD(yyyy, 1, '2014/04/28');
Output: '2015-04-28 00:00:00.000'

SELECT DATEADD(yy, 1, '2014/04/28');
Output: '2015-04-28 00:00:00.000'

SELECT DATEADD(year, -1, '2014/04/28');
Output: '2013-04-28 00:00:00.000'

SELECT DATEADD(month, 1, '2014/04/28');
Output: '2014-05-28 00:00:00.000'

SELECT DATEADD(month, -1, '2014/04/28');
Output: '2014-03-28 00:00:00.000'

SELECT DATEADD(day, 1, '2014/04/28');
Output: '2014-04-29 00:00:00.000'

SELECT DATEADD(day, -1, '2014/04/28');
Output: '2014-04-27 00:00:00.000'