728x90
반응형
Oracle 개발, 또는 쿼리 및 프로시져를 작성 하다 보면..
다음과 같은 에러가 종종 보인다.
ORA-01722: invalid number, ORA-01722: 수치가 부적합합니다
당황하지 말고!! 해결 방법을 알아보자!!
▶ 발생 원인
→ 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 함수를 사용할 때, 문자를 넣은 곳이 있는지 확인 한다.
아마 이정도면 대부분의 문제는 해결이 될 것이다!!!!
당황하지 말고 쿼리/프로시져 오류이지 천천히 살펴보고 수정해겨 해결 완료!! 끝!!
728x90
반응형
'SQL > 트러블슈팅' 카테고리의 다른 글
ORA-24247: network access denied by access control list (ACL) 해결법 (0) | 2017.01.17 |
---|---|
[에러] ORA-01722: invalid number, ORA-01722: 수치가 부적합합니다 (0) | 2014.11.27 |
ORA-01840, ORA-01830 (0) | 2014.08.13 |
ORU-10027: buffer overflow, limit of 20000 bytes 에러 (0) | 2014.06.11 |