This part of your query
CONVERT(char(7), date, 120) AS 'year'
is not returning a "year". It returns a string value in the format 'YYYY-MM'.
If you just want the year then use
YEAR(date) AS 'year'
or if you are using a database that does not have the
YEAR()
function use
SELECT CONVERT(char(4), 'date', 120) AS 'year'