본문으로 바로가기

 

 

 

이번 글에서는 ORA-01861: literal does not match format string 오류에 대하여 알아보도록 하겠습니다.

 

ORA-01861: literal does not match format string

ORA-01861: 리터럴이 형식 문자열과  일치하지 않음

 

간혹 쿼리를 짜다가 아래와 같은 에러가 발생합니다.

 

 

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

아래의 쿼리는 VARCHAR2 형식의 '2020-01-01'을 DATE 형식의 format에 맞게 바꾸어 조회하는 예제입니다.

 

 

위의 쿼리를 실행하니 ORA-01861: literal does not match format string 에러가 발생하였습니다.

 

이 에러는 주로 컬럼의 형식이 DATE인데 VARCHAR2로 변환할 때 많이 일어납니다.

이 쿼리에서 에러가 발생한 이유는 format 형식을 잘못 지정하여서 발생하였습니다.

위의 쿼리를 보면 format 형식이 'YY-MON-DD'로 설정되어있습니다.

YY는 년도, MON은 요일, DD는 일인데 월을 나타내야하는 자리에 요일이와서 발생한 에러입니다. 

 

따라서, 해결방법은 format 형식을 맞춰주시면 됩니다.

format 형식을 올바르게 맞춰서 다시 쿼리를 실행해 보도록 하겠습니다.

 

format 형식을 올바르게 바꿔서 조회하니 정상적으로 쿼리가 실행되는 것을 확인할 수 있습니다.