이번 글에서는 ORA-01722: invalid number 에러 해결방법에 대해 알아보도록 하겠습니다.
ORA-01722: invalid number
ORA-01722: 수치가 부적합합니다
쿼리를 짜다가 아래와 같은 에러가 종종 발생합니다.
예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.
아래의 쿼리는 '개발자'라는 VARCHAR2 타입을 NUMBER 타입으로 바꿔서 조회하는 예제입니다.
위의 쿼리를 실행하니 ORA-01722: invalid number 에러가 발생하였습니다.
에러가 발생한 이유는 NUMBER 타입으로 형변환하는데 바꾸려는 값이 VARCHAR2 타입이어서 그렇습니다.
즉, VARCHAR2 타입이 온다 하더라도 숫자 값이 입력되어야 하는데 완전 문자 (한글, 영어 등)가 입력되었기 때문입니다.
따라서, 해결 방법은 형변환하려는 값을 숫자 형식의 문자로 작성해야 합니다.
즉, '개발자'이런 한글이 아닌 '12345' 이런 식의 숫자 형식의 문자열이 들어와야 합니다.
숫자형식의 VARCHAR2 타입으로 바꿔서 쿼리를 다시 실행해 보도록 하겠습니다.
숫자 형식으로 값을 가져오니 쿼리가 정상적으로 작동하는 것을 확인할 수 있습니다.