Có vẻ như bạn đang giả định một số loại đánh giá ngắn mạch hoặc thứ tự đảm bảo của các vị từ trong WHERE
mệnh đề. Điều này không được đảm bảo. Khi bạn có các kiểu dữ liệu hỗn hợp trong một cột như vậy, cách an toàn duy nhất để xử lý chúng là sử dụng CASE
biểu thức.
Sử dụng (ví dụ:)
CONVERT(DATETIME,
CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)
Không
CONVERT(DATETIME, pa.Attribute_Value)