insert into AA( aa_a, aa_b)
select to_number(nvl(CC_a,0),'999.9'), CC_b
from CC
where 특정날
해서 CC테이블에 데이터를 AA로 넣어주려는데
CC_a, CC_b 는 데이터 타입이 varchar2(500)로 되어있고
aa_a, aa_b 는 데이터 타입이 number(4,1)로 되어있어요.
cc_a는 주로 123.4 이런식으로 소수점 첫째자리와 100단위 숫자들
cc_b는 주로 12.3 이런식으로 소수점 첫째자리와 10단위 숫자들(100단위도 있어요) 인데
CC_a는 괜찮은데 CC_b에서 자꾸 에러가 나네요
CC_a처럼 to_number도 해보고 별걸 다 해봐도 ORA-01722 수치가 부적합합니다 라는 에러가 납니다
어떤걸 확인해봐야될까요?
insert into AA( aa_a, aa_b) select to_number(nvl(CC_a,0),'999.9') , to_number(nvl(CC_b,0),'999.9') from CC where 특정날 ;
CC_a는 NUMBER로 바꾸고 CC_b는 왜 안바꾸신건지?
둘다 바꾸고 해도 안된다면..
아래 쿼리로 확인해보세요.
SELECT * FROM CC WHERE REGEXP_REPLACE(CC_a,'[0-9.]') IS NOT NULL OR REGEXP_REPLACE(CC_b,'[0-9.]') IS NOT NULL OR to_number(nvl(CC_a,0),'999999.999') >= 1000 OR to_number(nvl(CC_b,0),'999999.999') >= 1000 ;