Listing 2: CASE Expression That Solves First Processing-Order Problem SELECT T1.keycol, CASE WHEN T1.val NOT LIKE '%[^0-9]%' THEN CAST(T1.val AS INT) END AS intval FROM dbo.T1 JOIN dbo.T2 ON T1.keycol = T2.keycol;