• Try rounding the column in the where clause and select it as a datetime field. It worked for me. problem is there maybe a date which is further than year 9999 and you will be able to find the rows which are causing you problems. Copy and paste the number into excel and change the format in excel to date and itll show you the date that its trying to state and you may face a ########## which is the problem.

    SELECT

    CASE WHEN [Column]< 2958465

    THEN cast([Column] as datetime) ELSE null END AS [Column]

    FROM

    OPENQUERY ([LinkedServer],'select round([Column],4) [Column]from [Table] ')