You should probably first check whether the value is numeric (using regular expression) and then cast it since HEI001
can no way be casted to integer unless you are trying to get it's corresponding ASCII value (as @Clodoaldo have already commented)
CASE WHEN COL_NAME ~ '^[0-9]+$' THEN cast(COL_NAME as integer) END