Actually this query is completely wrong written. See below with break it
CONVERT
(date, '01-' +
Convert(varchar(2),Month) + '-' + Convert(varchar(4),Year )
)
between
CONVERT(date, '01-' + Convert(varchar(2),11) + '-' + Convert(varchar(4),2011))
and
CONVERT(date, '01-' + Convert(varchar(2),12) + '-' + Convert(varchar(4),2011))
In above query every thing is wrong, actually date comparision using between two date
if column need to check between range than you use
colname between fromdate and todate
When you want to convert it when using query than
CONVERT(data_type(length),expression,style)
So you can convert datetype by using convert either from date to varchar or varchar to date both are possible but this is matter your expression should be valid value to convert it to date type or varchar