Introduction
The DATEADD function is a powerful built-in function sql server to add dates in different way and types. So I would like to explore in this tip how we can use the DATEADD function for different purpose.
DATEADD Function Syntax
DATEADD(datepart,number,date)DatePart: Is the parameter that specifies on which part of the date to return a new value
Number: Is the value used to increment datepart
Date: Is an expression that returns a datetime or smalldatetime value
Supportable abbreviations for Datepart
| DatePart | Abbreviations |
| Year | yy,yyyy |
| Quarter | q,qq |
| Month | mm,m |
| DayOfyear | dy,y |
| Day | dd,d |
| Week | wk,ww |
| WeekDay | dw,w |
| Hour | hh |
| Minute | mi,n |
| Second | ss,s |
| MilliSecond | ms |
Examples:
DECLARE @Today DATETIMESET @Today=GETDATE() --'13-Dec-2010'SELECT DATEADD(Year, 5, @Today) AS dest_date -- add 5 years from today date------------Output-----------------------------------------------------------------------------2015-12-13 11:53:21.707 SELECT DATEADD(quarter, 2, @Today) AS NewDate -- add 2 quarter with today date------------Output-----------------------------------------------------------------------------2011-06-13 11:55:38.033 SELECT DATEADD(Month, 3, @Today) AS NewDate -- add 4 months with current date ------------Output-----------------------------------------------------------------------------2011-03-13 11:57:23.267 SELECT DATEADD(dayofyear,10, @Today) AS NewDate -- add 10 days with day of year(current day)------------Output-----------------------------------------------------------------------------2010-12-23 11:57:56.453 SELECT DATEADD(Day, 5, @Today) AS NewDate -- add 5 days with today------------Output-----------------------------------------------------------------------------2010-12-18 11:57:56.453 SELECT DATEADD(Week, 2, @Today) AS NewDate -- add two weeks with today date------------Output-----------------------------------------------------------------------------2010-12-27 12:00:14.173SELECT DATEADD(Weekday, 2, @Today) AS NewDate -- add two weekdays with today date------------Output-----------------------------------------------------------------------------2010-12-27 12:00:14.173 SELECT DATEADD(Hour, 7, @Today) AS NewDate -- add 7 hours with now date and time ------------Output-----------------------------------------------------------------------------2010-12-13 15:01:19.313 SELECT DATEADD(minute, 6, @Today) AS NewDate -- add 6 minutes with current time------------Output-----------------------------------------------------------------------------2010-12-13 12:08:31.517 SELECT DATEADD(minute, 6.5, @Today) AS NewDate -- add 6.5 minutes with current time------------Output-----------------------------------------------------------------------------2010-12-13 12:08:31.517 -- Note : See i have aded 6 and 6.5 minutes with datepart minutes, but result is same. beucase sql server 6.5 will be 6 SELECT DATEADD(second, 15, @Today) AS NewDate -- add 15 seconds with curren time------------Output-----------------------------------------------------------------------------2010-12-13 12:33:31.517 SELECT DATEADD(millisecond, 300, @Today) AS NewDate -- add 300 milliseconds to current time------------Output---------------------------------------------------------------------------Have a nice day... 'N happy Coding :)

