• The thing is, 0 can't be cast to a date.

    DECLARE @SomeDate CHAR(8) = '0'

    SELECT ISDATE(@SomeDate), CAST(@SomeDate AS DATE)

    Msg 241, Level 16, State 1, Line 3

    Conversion failed when converting date and/or time from character string.

    So if you have thousands of rows with a 0 in, you will get conversion error.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass