• I'm confused as to why you would consider '1753' to be an invalid date (assuming we're using the Julian calendar).

    Datetime datatype runs from 1st January 1753, and the implicit and explicit conversions of '1753' are 1753-01-01.

    Also if it's just 1753 you have a problem with, then your method doesn't work anyway; try

    select isdate(Stuff('2011', 4, 0, ' '))