Pages

December 28, 2011

Find previous month data in SQL

We have following records in our table.

image

Now we need to fetch previous month data only.
Means output should be:

image

T-SQL

DECLARE @TablePM TABLE
([DATE] DATETIME)

INSERT INTO @TablePM
SELECT '2011-12-28 11:26:03.653' UNION ALL
SELECT '2011-12-18 11:26:03.653' UNION ALL
SELECT '2011-12-18 11:26:03.653' UNION ALL
SELECT '2011-12-17 11:26:03.653' UNION ALL
SELECT '2011-11-28 11:26:03.653' UNION ALL
SELECT '2011-11-30 11:26:03.653' UNION ALL
SELECT '2011-11-08 11:26:03.653' UNION ALL
SELECT '2011-11-27 11:26:03.653' UNION ALL
SELECT '2011-11-21 11:26:03.653' UNION ALL
SELECT '2011-11-01 11:26:03.653' UNION ALL
SELECT '2012-11-28 11:26:03.653' UNION ALL
SELECT '2012-12-28 11:26:03.653'

SELECT * FROM @TablePM
WHERE
DATEPART(M, [DATE]) = DATEPART(M, DATEADD(M, -1, GETDATE()))
AND

DATEPART(YEAR, [DATE]) = DATEPART(YEAR, DATEADD(M, -1, GETDATE()))

That’s It.
Enjoy Learning.

2 comments:

Post a Comment