ORA-01821: 날짜 형식이 부적합합니다 (ORA-01821: date format not recognized)

ORA-01821: 날짜 형식이 부적합합니다

ORA-01821: 날짜 형식이 부적합합니다.

해당 오류는 영어로 'ORA-01821: date format not recognized'라고 발생합니다. 즉, 정상적으로 인식이 되지 않은(not recognized)것이지요~ 오류를 해결하기 위해 크게 2가지를 점검해 볼 수 있답니다. 해당 부분만 확인하면 웬만한 ORA-01821 오류는 해결할 수 있을 것이니 한 번 따라해 보세요~

  • 설정 > 시간 및 언어 > 지역 > 데이터 형식 변경 부분을 확인해 주세요.
  • TO_DATE 는 형식 매개변수를 명시적으로 지정하는 것을 추천합니다.

데이터 형식 변경

SYSDATE 를 TO_DATE 로 하면 대개 [ 2022-01-17 ] 과 같은 형식을 예상합니다. 그런데 [ 22-1-17 ] 와 같이 형식이 다르게 보인다면 데이터 형식을 확인해 주세요. [윈도우] > [설정] > [시간 및 언어] > [지역] > [데이터 형식 변경] 에서 확인하실 수 있습니다.

오라클 날짜 형식

그리고 형식 매개변수를 명시적으로 지정하는 것을 추천합니다. 날짜 형식이 부적합한 경우는 다음과 같은 두 가지 상황을 예상할 수 있습니다.

  • 날짜 형식을 잘못 입력한 경우
  • 날짜 형식을 입력하지 않아서 자동적으로 변환이 될 때, 시스템 데이터 형식으로 변경되어 문제가 된 경우

날짜 형식을 잘못 입력한 경우에는 올바르게 재설정하여 해결할 수 있습니다. 반면, 별도의 날짜 형식을 입력하지 않아서 자동으로 형이 변환된 경우, 보통 시스템 데이터 형식을 따라가는데, 시스템 데이터가 예상치 않게 설정되어 있는 경우에 문제가 발생할 수 있습니다. 일부 운영체제는 다른 프로그램과 연계, 또는 영어로 된 운영체제를 사용하는 경우가 있어서 날짜 형식이 예상과 다르게 설정되는 경우가 있습니다.

--날짜 형식을 적합하게 명시적으로 설정하기
SELECT TO_DATE (SYSDATE, 'YYYY-MM-DD') FROM DUAL

댓글