게시판에 ORA-01438 관련 글을 보고 참고가 되었지만
date타입의 컬럼일 경우 컬럼을 늘릴수도없는 상황이라서 글을 올려봅니다
이럴땐 어떻게 해야될지 답변부탁드립니다
between
to_date('20121231','yyyy-MM-dd')
AND to_date('20131226','yyyy-MM-dd')+1
아래와같이 조건값을 받아올 때 그렇습니다
해당 에러는 작은공간(변수 나 컬럼)에 큰 데이터를 넣을 때 나는 에러죠. 올리신 구문은 단순 조건절일 뿐이구요. 해당 에러와 무관해 보이네요.
흠 그런데 조건절에서 처음 날짜에
'20121223'이라는 조건절에서만 ora-01438에러가 발생합니다
다른 조건에서는 무난한게 쿼리가조회되고요 컬럼타입이 number나 varchar2 도 아닌
date타입이라서 더 이해가 안가네요
조건값의 범위가 바뀌면서 조회되는 데이터도 달라지겠죠.
즉 에러의 원인이 되는 데이터가 조회범위에 따라 포함되기도 하고
포함되지 않기도 하는거죠.
에러는 조건절이 아닌 위에서 언급한 사항입니다.
변수에 값을 대입하는 부분? 또는 테이블에 값을 입력하는 부분 등에서
입력 가능 범위를 초과하는 값이 입력되는지를 살펴봐야 합니다.
오류는 저 조건부분이 아닌 select절 내에서 나는것 같은데요?
select절내에 데이터를 가공하는 컬럼을 주석으로 막고 테스트를 해보세요.