Seharusnya, jika memang:
SELECT ...
CASE
WHEN ISDATE(ColumnName) = 1 THEN CONVERT(datetime, ColumnName, 103)
ELSE NULL
END
....
tetapi, Anda tidak menggunakan ISDATE WITH CONVERT, karena tidak ada ekspresi seperti
ISDATE(CONVERT(varchar,ColumnName,112))
tanpa konversi bersarang, nilai pengembalian bergantung pada hal-hal seperti pengaturan bahasa, oleh karena itu perilaku nondeterministik. Tanpa pengetahuan "eksternal", tidak mungkin untuk memprediksi hasil yang diperoleh seseorang, berdasarkan input saja.