본문 바로가기
에러

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

by 네모세모동동 2024. 11. 22.

 

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

Date 타입에 String 타입의 문자열을 넣거나 Date 타입과 String 타입을 비교할 때 발생하는 에러이다.

 

처음 이 오류를 접했을 때 무지 당황했다 😬
개발환경에서는 오류없이 잘 작동했는데 서버에서 테스트 할 때 문제가 발생했었기 때문인데...
환경변수인 NLS_LANG 설정에 영향을 받아서 그렇다고 한다. 지식 추가 +1🤓

 

환경에 따라서 다른 값으로 설정되기 때문에 데이터 형식을 지정해줄 필요가 있다.
서버환경과 개발환경을 맞추는 방법은 이후에 따로 포스팅을 해야겠다💪

 

본론으로 다시 돌아가자면
이 에러를 해결하는 방법은 간단하다.

필요에 맞게 타입을 변환해주면 된다!

Date 타입 -> String 타입

TO_CAHR(컬럼명, 'YYYYMMDD')

 

String 타입 -> Date 타입

TO_DATE(컬럼명, 'YYYYMMDD')

 

 


[출처]

'에러' 카테고리의 다른 글

[MyBatis] Mapped Statements collection does not contain value for  (0) 2025.03.24