Nó phải là, nếu ở tất cả:
SELECT ...
CASE
WHEN ISDATE(ColumnName) = 1 THEN CONVERT(datetime, ColumnName, 103)
ELSE NULL
END
....
nhưng, bạn không sử dụng ISDATE WITH CONVERT, vì không có biểu thức nào giống như
ISDATE(CONVERT(varchar,ColumnName,112))
nếu không có chuyển đổi lồng nhau, giá trị trả về phụ thuộc vào những thứ như cài đặt ngôn ngữ, do đó đó là hành vi không xác định. Nếu không có kiến thức "bên ngoài", không thể dự đoán kết quả mà người ta nhận được, chỉ dựa vào đầu vào.