The difference is probably in the values of col1.
You try to compare a NUMBER with a VARCHAR2. You don't explicitly convert the literal number (1234438) to character. In this case Oracle converts the varchar2 database column (col1) to number. If one of the values in col1 is not numeric, you get this error.
Another problem with this implicit conversion is that indexes cannot be used in the query.