SQL Last 6 Months
Try this one
where datediff(month, datetime_column, getdate()) <= 6
To exclude or filter out future dates
where datediff(month, datetime_column, getdate()) between 0 and 6
This part datediff(month, datetime_column, getdate())
will get the month difference in number of current date and Datetime_Column and will return Rows like:
Result
1
2
3
4
5
6
7
8
9
10
This is Our final condition to get last 6 months data
where result <= 6
In SQL Server
where datetime_column > dateadd(m, -6, getdate() - datepart(d, getdate()) + 1)
SQLFiddle demo
In MySQL
where datetime_column > curdate() - interval (dayofmonth(curdate()) - 1) day - interval 6 month
SQLFiddle demo
.... where yourdate_column > DATE_SUB(now(), INTERVAL 6 MONTH)
For MS SQL Server, you can use:
where datetime_column >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6,
current_timestamp)), 0)