ORA-01722 Invalid Number

This error occurs when you try to convert a character string into a number, and the string can’t be converted into a valid number. So what is a valid number you ask? A valid number to Oracle would be a digit between 0-9, a negative or positive sign at the beginning or end, a decimal point, or an upper case or lower case e. All other characters are not allowed.

One reason you might be getting this error is due to an implicit conversion happening in the where clause. Such as comparing a character column to a number column.

Another reason may be that you are simply trying to insert or update with an invalid number that doesn’t fall within the criteria stated above. So check your insert or update statement and make sure that the values you are using fall within those boundaries.

The bottom line is to check that your number is a valid number when doing comparisons, inserts, and updates. If you don’t see it have a second set of eyes look at it for you just to make sure you’re not glancing over the obvious to someone else.

Share This