SQL Query to Get Last 3 Months Records in SQL Server

← PrevNext →

In SQL Server, you can use the DATEADD() function to get last 3 months (or n months) records. In previous tutorial, I have shown how to use this function to get previous month records. Now, here I'll show you how to get last 3 months data in SQL Server.

Syntax

The DATEADD() function returns a date time (smalldatetime).

DATEDADD(interval, increment (int), expression (date))

This function is commonly used in date and time related queries.

Parameters

• interval: The date and time interval to add. It can be "year", "month" (or M), "day" etc. This is required.
• increment (in): An integer value (a number) of interval to add to the date. This is required.
• expression (date): A date value.

Example: SELECT DATEADD(M, 3, GETDATE()) as Three_months_from_now -- get the 3rd month from the current.

Now, let's see how we can get the last 3 months records using DATEADD() function.

Create a Table

Let us create a table first in SQL Server. I have an employee table with few records in it. The table has a date column (the last column). See the image.

Get last 3 months Records in SQL Server

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.

Showing Last 3 Months Records in SQL Server

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.



🚀 More SQL Tips

How to find employees who were hired in the last n months?
How to edit more than 200 rows in SQL Server Management Studio?
Can an SQL query contain both "where and having" clause?



← PreviousNext →