Not like that!
Instead, remove the day part from all three dates, and use them.
DATEADD(month, DATEDIFF(month, 0, MyDateColumnOrValue), 0)
Will convert a date to the 1st of the month, so you might want something like:
... WHERE DATEADD(month, DATEDIFF(month, 0, myDate), 0) BETWEEN
DATEADD(month, DATEDIFF(month, 0, FromDate), 0) AND
DATEADD(month, DATEDIFF(month, 0, ToDate), 0)