- [Oracle] ORA-01841: (full) year must be between -4713 and +9999, and not be 02022년 10월 04일
- 홀쑥
- 작성자
- 2022.10.04.:05
발생
- 업무 중 과거 데이터들을 수집하기 위한 스크립트를 작성하고 실행시키니 다음과 같은 오류 발생
- sqlDeveloper에선 발생하지 않으나 python의 cx_Oracle에서 실행할 때만 발생
- 해당 쿼리는 월 1일 ~ 월 말일 조건이 다수 존재하는 쿼리
원인파악
- 해당 에러는 말 그대로 date형 컬럼을 변환할 때(보통 to_date) 년도가 -4713에서 9999 사이의 값, 0이 아닌 값이여야 한다는 에러
- 테이블의 컬럼 타입과 입력한 데이터 타입이 다를 경우
- 데이터의 크기가 오라클의 MAX값을 초과한 경우
- 나의 경우는 datetime 객체를 std_date에 그대로 넣어버려서 문제가 발생
문제해결
--std_date : 기준년월 1일 SELECT data1, data2, date_data FROM sample_table WHERE date_data between TO_DATE('{std_date}','YYYYMMDD') AND LAST_DAY(TO_DATE('{std_date}','YYYYMMDD'))
'Etc > 오류 모음' 카테고리의 다른 글
[Python] Could not build wheels for pynacl, bcrypt which use PEP 517 and cannot be installed directly 해결 (0) 2022.04.12 [WSL2] Vmmem 비정상적인 메모리 점유 (0) 2022.02.16 [Eclipse] Java 파일 수정사항 적용되지 않을 때 (0) 2022.01.21 오라클(Oracle) 11g [INS-13001]환경이 최소 요구사항을 충족하지 않습니다. (0) 2020.06.14 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)