Another opinion.
declare @CurrentDate datetime = dateadd(month,1,getdate()); -- Say current date is a month from now. In the declares below you could use GETDATE() instead.
declare @StartDate datetime = dateadd(month,datediff(month,0,@CurrentDate) - 1, 0),
@EndDate datetime = dateadd(month,datediff(month,0,@CurrentDate), 0);
select @CurrentDate, @StartDate, @EndDate;
-- Your query would look something like this:
select
-- your columns --
from
dbo.YourTable
where
YourDateColumn >= @StartDate and
YourDateColumn < @EndDate;