728x90

ORA-01722 수치가 부적합합니다.

 

VARCHAR2에 숫자가 기입되면 자동으로 NUMBER으로 변환

VARCHAR2에 날짜가 기입되면 자동으로 DATE 타입으로 변환


VARCHAR2 <-> NUMBER 때매 나는 에러인줄 알고 시도 한 것들....

1. TO_NUMBER 바꿔도 남
SELECT TO_NUMBER(ID) ID FROM TEST.TEST1; -> ID 컬럼은 VARCHAR2

2. 에러 발생 시 DEFAULT 값으로 변환 출력
SELECT TO_NUMBER(ID DEFAULT -1 ON CONVERSION ERROR)
FROM TEST.TEST2;

3. NUMBER 아닌 값은? 나옴... 젠장...
SELECT ID
FROM TEST.TEST2
WHERE VALIDATE_CONVERSION(ID AS NUMBER) = 0;

 

0이면 NUMBER가 아닌 값 출력
1이면 NUMBER 값 출력

728x90

'ORACLE' 카테고리의 다른 글

전화번호 문자 제거  (0) 2023.11.17
HCC COMPRESS  (0) 2023.10.27
DEPENDENCY CHECK  (1) 2023.05.26
DB LINK 생성/조회  (0) 2023.03.31
계정 권한 관리/조회  (0) 2023.03.31

+ Recent posts