I don't know exactly what 'day of the month optional' means, but what stops you from always setting your date field to the first of each month if the day is not relevant, and add a
start_date_includes_day_p char(1)
to indicate how the date should be formatted?