'오라클에러'에 해당되는 글 1건

ORA-01861: literal does not match format string
ORA-01861: 리터럴이 형식 문자열과 일치하지 않음

 

간혹 로컬 PC 환경에서 Query 를 작성하여 정상 확인 한 후  서버에 올렸는데 에러가 발생하는 경우가 있습니다.

 

형식이 일치하지 않는 ORA-01861 이 대표적으로 발생 할 수 있는데요.

 

그중에서도 Date 형태의 데이터를 처리할 때 가장 많은 오류가 발생합니다.

 

SELECT TO_DATE(sysdate)  from dual;

 

이런식으로 날짜 형식에 대한 포멧을 지정하지 않는 경우입니다.

 

이럴때는 반드시

 

SELECT TO_DATE(sysdate, 'YYYY-MM-DD') from dual;

 

과 같이 포멧을 지정해 주어야 ORA-01861 에러가 발생하지 않습니다.

 

이런 원인은 Date 형태의 포멧이 클라이언트(Session) 마다 NLS_DATE_FORMAT 에 디폴트로 설정이

 

되어있지만, 이게 환경마다 틀리기 때문입니다.

 

다른 해결 방법으로는

 

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' ;

 

이런식으로 세션에 대한 디폴트 포멧을 지정해 줄 수도 있지만, 쿼리에서 항상 포멧을 지정하는 습관을

 

가지시는게 좋겠지요.

블로그 이미지

슬픈외로움

개발이 어려워? 모든것엔 답이있다...

,