오늘 알아볼 주제는 'ORA-01830: 날짜 형식의 지정에 불필요한 데이터가 포함되어 있습니다.' 오류입니다.
ORA-01830: 날짜 형식의 지정에 불필요한 데이터가 포함되어 있습니다.
원문은 'ORA-01830: date format picture ends before converting entire input string' 이렇게 되어 있는데 공식 해석이 조금 이상하게 된 것 같아요. 해당 오류는 '불필요한 데이터가 포함'되어 있는 것이 아니라, 날짜 형식 지정이 입력 문자열보다 먼저 끝나버린 경우를 뜻한답니다. 🙂
다른 뜻으로 말하면 쿼리를 실행할 때, 입력 문자열과 날짜 형식 포맷이 일치하지 않기 때문입니다. (정확히 말하면 포맷이 일치하지 않아서 발생하는 경우도 세분화 되어 있기는 한데, 우선 이렇게 간단히 안내해드릴게요.)
다음과 같은 쿼리를 실행할 때 오류가 발생할 거예요.
SELECT TO_DATE('2001-01-01', 'YYYY-MM') FROM DUAL;
ERROR at line 1:
ORA-01830: date format picture ends before converting entire input string이 오류는 입력 문자열 '2001-01-01'이 'YYYY-MM' 형식과 일치하지 않아서 발생합니다. 'YYYY-MM' 형식은 '2001-01'과 같은 형식의 입력을 기대하기 때문인데요! 🙂 따라서, 올바른 형식을 사용하여 쿼리를 수정해야 합니다. 다음과 같이 말이지요. 해결 방법은 다음과 같습니다.
1. 입력 문자열과 날짜 형식을 일치시킵니다.
SELECT TO_DATE('2001-01', 'YYYY-MM') FROM DUAL;
TO_DATE(
--------
2001/012. 만약 연월일 모두 필요하다면, 날짜 형식을 'YYYY-MM-DD'로 변경합니다.
SELECT TO_DATE('2001-01-01', 'YYYY-MM-DD') FROM DUAL;
TO_DATE(
--------
2001/01/01ORA-01830: date format picture ends before converting entire input string
오류 원인 : 유효한 날짜 형식 포맷이 여분의 데이터를 포함하고 있습니다. 포맷의 첫 부분은 유효한 날짜로 변환되었지만, 남은 데이터는 필요하지 않습니다.
오류 해결 : 날짜 형식 포맷에 대한 사양을 확인하고, 입력 문자열과 날짜 형식이 일치하도록 쿼리를 수정하세요. 올바르게 수정된 쿼리를 사용하면 오류 없이 원하는 결과를 얻을 수 있을 것입니다~
