본문 바로가기
[개발] Programming/Database

ora-01843: not a valid month, 지정한 월이 부적합합니다.

by eatyourKimchi 2019. 6. 1.

 

ora-01843 오류

: 오라클에서 위 오류는 날짜 포맷을 잘못 입력한 경우 발생.

 

영어로는 'not a valid month', 한글로는 '지정한 월이 부적합합니다.'

처음에는 월이 무슨 말인가 했는데, 생각해보니 月을 의미하고 있었습니다.

원인은 TO_DATE() 함수를 사용하는데 잘못된 데이터가 들어오고 있었기 때문입니다.

 

 

예를 들면 아래와 같은 경우 날짜가 형식에 맞지 않아 오류가 발생합니다.

 

1
2
3
SELECT TO_DATE('2190101', 'YYYY-MM-DD') AS DATE
  FROM TEST_TABLE
;
cs

 

 

알고 보니 년도에 0이 하나 빠져있었습니다.

'20190101'로 수정하면 더 이상 오류가 발생하지 않습니다.

 

1
2
3
SELECT TO_DATE('20190101', YYYY-MM-DD) AS DATE
  FROM DUAL
;
cs

 

 

또 한가지 케이스는 실제 존재하지 않은 날짜가 입력된 경우입니다.

예를 들어 11월이 30일 까지만 있는데 31일을 비교하면 동일한 오류가 발생합니다.

 

 

댓글