U lijkt uit te gaan van een soort kortsluitingsevaluatie of gegarandeerde volgorde van de predikaten in de WHERE clausule. Dit is niet gegarandeerd. Als je gemengde datatypes in zo'n kolom hebt, is de enige veilige manier om ze te behandelen een CASE uitdrukking.
Gebruik (bijv.)
CONVERT(DATETIME,
CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)
Niet
CONVERT(DATETIME, pa.Attribute_Value)