• Maybe the low ratings is due to the fact that most programmers and db-developers "know" this solution already: The old "sort numbers stored as text as numbers"... ("1" ,"2"..."10", "11" and NOT "1", "10", "11", "2", "3"...).

    I like the technique, but you should clarify "any year" is not actually any year, it is a valid year within the sql server time span...