Anda tampaknya mengasumsikan semacam evaluasi korsleting atau urutan predikat yang dijamin di WHERE
ayat. Ini tidak dijamin. Ketika Anda memiliki tipe data campuran dalam kolom seperti itu, satu-satunya cara aman untuk menanganinya adalah dengan CASE
ekspresi.
Gunakan (mis.)
CONVERT(DATETIME,
CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)
Tidak
CONVERT(DATETIME, pa.Attribute_Value)