5시간코딩

날짜범위를 크게하니까 ORA-01839 에러가 생겼던 일 본문

오라클

날짜범위를 크게하니까 ORA-01839 에러가 생겼던 일

5시간코딩 2019. 12. 3. 18:25

현재 글쓴 날짜는 2019년이다.

2019년 데이터를 돌릴 때는 아무 이상없이 돌아가던 쿼리가 

2013년~2019년으로 범위를 넓게 해서 돌리니까 없던 에러가 생겼다.

 

심지어 오라클에서 에러가 발생한 부분이라고 표시해준 부분도 완전 이상한 곳이더라...

 

원인은... 사용하던 테이블 중 가장 컸던 테이블이 2000만row짜리가 있었는데, 사용했던 컬럼 중에

문자형식으로 된 날짜가 있었는데,

그 중 '20140631' 이라는 row가 6개 정도 있었다.

6월달은 30까지 밖에 없다... 날짜로 바꾸니 에러가 날 수 밖에 없다.

날짜는 자동으로 박힐텐데 왜 이런 이상한 날짜가 들어갔는지는 알 수 없었다. 뭐 어쨋든..

 

타부서에 수정요청했지만, 안된다는 반응이어서

어쩔 수 없이 하드코딩으로 CASE WHEN date = '20140631' THEN '20140630' ELSE date END

로 하고 있다.