본문 바로가기

개발자정보

오류코드:ORA-01841: 년은 영이 아닌 -4713 과 +4713 사이의 값으로 지정해야 합니다 해결방법

반응형

ORA-01841: 년은 영이 아닌 -4713 과 +4713 사이의 값으로 지정해야 합니다

 

오렌지에서는 잘 도는 쿼리인데 JAVA 프로그램에서만 계속 에러가 발생하네요.

 

결국 문제는 날짜값이 문제였습니다.  "99991231" 을 날짜 값으로 넣은 칼럼이 있는데

거기서 발생하네요.  

 

9i 에서는 99991231 까지는 문제 없는데,

 

여기다가

SELECT TO_DATE('99991231','YYYYMMDD') + 1 FROM DUAL

 

NULL 값 체크하세요.

 

CASE WHEN SO_DATE IS NULL THEN NULL ELSE TO__DATE(SO_DATE,'YYYYMMDD') END

 

해결방법

function fn_chartodate( p_str in varchar2 ) return date
is
begin
return to_date( p_str ,'YYYYMMDD');
exception
when others then
return null;
end;

반응형