본문으로 바로가기

 

 

이번 글에서는 ORA-01840: 입력된 값의 길이가 날짜 형식에 비해 부족합니다 에러에 대하여 다루어 보도록 하겠습니다.

 

ORA-01840: 입력된 값의 길이가 날짜 형식에 비해 부족합니다

ORA-01840: input value not long enough for date format

 

쿼리를 짜다가 아래와 같은 에러가 발생하였습니다.

 

 

예제를  통하여 에러가 발생한 이유와 해결 방법에 대하여 알아보도록 하겠습니다.

아래의 쿼리는 VARCHAR2 타입 '202007'을 'YYYYMMDD' 형식의 Date  타입으로 형변환하여 조회하는 쿼리입니다.

 

위의 쿼리를 실행하니 ORA-01840: input value not long enough for date format 에러가 발생하네요.

 

이 에러가 발생하는 이유는 바인딩되는 문자열이 포맷의 길이에 맞지 않게 들어와서 발생한 에러입니다.

즉, 위의 쿼리를 예로 들어서 하나하나 살펴보자면 아래와 같습니다.

 

'202007' = 'yyyymmdd' 

→  2020  = yyyy

→  07       = mm

→  ?          = dd

 

보시면, 2020년 07월까지 yyyymm이 정상적으로 입력되어있습니다. 하지만 dd의 값이 없습니다. 

따라서 포맷의 형식과 문자열을 맞춰준다면 정상적으로 실행될 것입니다.

 

포맷의 형식과 문자열을 맞춰서 쿼리를 다시 실행해보도록 하겠습니다.

 

포맷의 형식과 문자열을 잘 맞추니 에러 없이 잘 작동하는 것을 확인할 수 있습니다.