Syntax
The DATEADD() function returns a date time (smalldatetime).
DATEDADD(interval, increment (int), expression (date))
This function is commonly used in date related queries.
Let us create a table first in SQL Server. I have an employee table with few records in it. The employee table has a date column (the last column). See the image.
Query to get Last 3 Months Records
SELECT *FROM Employee WHERE JoiningDate >= DATEADD(M, -3, GETDATE())
The Output
Assuming that the current month is May. The result shows records for the month of Feb.
Its a one line query. The function DATEADD() takes 3 parameters.
1) The first parameter is the M, which denotes a month. You can replace the M with the MONTH. Like this,
SELECT *FROM Employee WHERE JoiningDate >= DATEADD(MONTH, -3, GETDATE())
2) The second parameter is "increment" (an integer value or a number). I am using -3 to get the last 3 months records or data. You can use -5, -4 or any number, depending upon your requirement.
Thought you should know: You can use a variable to specify a number, and use the variable inside the DATEADD() function. Like this,
DECLARE @D INT SET @D = 3 SELECT DATEADD(M, @D, GETDATE())
3) The third parameter inside the DATEADD() function, is an expression or date. I am using the "GETDATE()" function for current month.
Note: The DATEADD() function is also supported by Azure SQL Database.