Sie können den Ersten des Monats erhalten, indem Sie den letzten_Tag des Monats davor berechnen und einen Tag hinzufügen. Es ist umständlich, aber ich denke, es ist besser, als ein Datum als Zeichenfolge zu formatieren und diese für die Berechnung zu verwenden.
select
*
from
yourtable t
where
/* Greater or equal to the start of last month */
t.date >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) and
/* Smaller or equal than one month ago */
t.date <= DATE_SUB(NOW(), INTERVAL 1 MONTH)