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일을 비교하면 동일한 오류가 발생합니다.
'[개발] Programming > Database' 카테고리의 다른 글
오라클 MERGE INTO, INSERT와 UPDATE 한 번에 실행 (0) | 2019.08.02 |
---|---|
오라클 날짜(DATE) 비교, to_date, to_char 함수 (0) | 2019.07.31 |
ora-01427: 단일 행 하위 질의에 2개 이상의 행이 리턴되었습니다. 오류 (0) | 2019.05.28 |
오라클 ORA-01722: 수치가 부적합합니다. (0) | 2019.05.24 |
오라클 SELECT 후 UPDATE 쿼리 (0) | 2019.04.09 |
댓글