Try this query with your second option
select convert(Date,convert(varchar(50),cast((year(StudentDATE)-1) as varchar )+ '-' +cast(month(StudentDATE)as varchar )+@FROM)),
convert(Date,convert(varchar(50),cast(year(StudentDATE)as varchar )+ '-' +cast(month(StudentDATE)as varchar )+@TO))