728x90
반응형

Oracle 개발, 또는 쿼리 및 프로시져를 작성 하다 보면..

다음과 같은 에러가 종종 보인다.

 

ORA-01722: invalid number, ORA-01722: 수치가 부적합합니다

 

moon_and_james-11

 

 

당황하지 말고!! 해결 방법을 알아보자!!

 

▶ 발생 원인

 → 1. 데이터 Insert/Updata 시, 데이터 형에 맞지 않는 값 입력

         Ex) Data 형식 컬럼에 문자(VarChar) 형식 데이터를 넣는 경우

     2. 쿼리에서 사용 하는 조건식에 데이터 형식이 잘못 된 경우

         Ex) SUBSTR(TEST.COL, 1, 1) <> 0 는 SUBSTR(TEST.COL, 1, 1) <> '0' 이렇게 하는게 맞음

 

 

▶ 해결 방법

 → 1. Insert 하는 쿼리/프로시져가 테이블의 데이터 형식에 맞게 데이터를 넣고 있는지 확인한다.

     2. 조건식(비교 등)에서 문자와 숫자를 비교하는 부분이 있는지 확인 한다.

     3. 문자를 숫자로 변경 할려고 하는 부분이 있는지 확인 한다.

     4. MOD 함수를 사용할 때, 문자를 넣은 곳이 있는지 확인 한다.

    

 

아마 이정도면 대부분의 문제는 해결이 될 것이다!!!!

 

moon_and_james-4

 

당황하지 말고 쿼리/프로시져 오류이지 천천히 살펴보고 수정해겨 해결 완료!! 끝!!

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,