Q0. 개요
다음 오라클 에러에 대해서 알아보도록 하자.
ORA-01843: 지정한 월이 부적합합니다 (not a valid month)
쿼리 작업 이후에 로컬에서 톰캣을 재구동했을 때, ORA-01843이라는 에러가 발생되는 경우가 있다.
이는 작성된 SQL의 출력물의 날짜 형식이 잘못되었거나 옳바르지 않은 경우이다.
Q2. 날짜와 관련된 주요 기능
TO_CHAR는 날짜를 문자열로 변환하는 함수. TO_CHAR(SYSDATE, 'YYYYMMDD')
TO_DATE는 문자열을 날짜로 변환하는 함수. TO_DATE('2023-11-21', 'YYYYMMDD')
ALTER SESSION SET NLS_LANGUAGE = 'KOREAN'; --DB세션 한국어로 설정
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'; --DB세션 해당 포맷으로 설정
위 기능 중에서 TO_DATE('2023-13-30', YYYY-MM-DD HH24:MI:SS')와 같이 실행하거나
TO_DATE('2023-00-01', 'YYYYMMDD')와 같이 실행된다면 존재하지 않는 월 데이터를 변환할 수 없기 때문에 다음과 같은 에러가 발생한다.
Q3. 결론적으로
이런 데이터가 입력될 때 화면에서 사전 Validate 처리를 하거나
계산을 통해 쿼리에서 추출되는경우에는 서버 단 예외처리를 하는 수 밖에 없다.
'Error 모음' 카테고리의 다른 글
[JavaScript] 소수점 제어 및 부동소수점 에러 (0) | 2023.11.23 |
---|---|
[Spring] 대용량 데이터 저장 시 OOM 문제 발생 (0) | 2023.11.22 |
[Oracle] ORA-00909 인수의 개수가 부적합합니다 (0) | 2023.11.21 |
[Oracle] ORA-01745 호스트/바인드 변수명이 부적합합니다 (0) | 2023.11.21 |
[Oracle] ORA-00911 문자가 부적합합니다 (0) | 2023.11.21 |