728x90
반응형
SMALL
오라클에서 ORA-01722 invalid number 오류를 뱉어낼 때가 있다.
처음엔 원인을 찾아내느라 좀 헤맸었다.
아마..TO_NUMBER같은 함수를 VARCHAR 형에 감싸거나 하는 부분에서 에러가 나는 경우가 많을 것이다.
사실..지금 보면 로그 메시지만 봐도 어느 정도 감이 오긴 한다.
발생 이유>
1. 조건식 데이터 형식을 잘못 쓴 경우
2. 컬럼에 VARCHAR 데이터 형식이 잘못된 경우
3. 기타..
해결방법>
1. TRUNC, MOD, ROUND, CEIL 등의 함수를 사용할 때 문자를 넣은 곳이 있는지 확인
2. 조건식에서 문자와 숫자를 비교하는지 확인
3. 컬럼에 데이터 자체가 올바른지 확인
본인 같은 경우는 3번의 경우였고, TO_NUMBER를 해주었는데 VARCHAR 형식의 숫자 값에 콤마(,)가 들어가 있어서
생겼던 문제였다.
REPLACE를 해주어서 해결했는데, 아마 대부분 이 이유가 많지 않을까 싶다.
728x90
반응형
LIST
'Oracle' 카테고리의 다른 글
Toad에서 .dmp 파일로 테이블 import, export (0) | 2020.11.06 |
---|---|
오라클 시퀀스 한번에 증가시키기 (0) | 2020.11.06 |
oracle 실수로 지운 데이터 복구 쿼리 (TIMESTAMP) (0) | 2020.11.05 |
oracle ROUND, CEIL, FLOOR, TRUNC, MOD (0) | 2020.11.05 |
Oracle LPAD 함수 (0) | 2020.11.05 |