web developer

[sql] ORA-01861: literal does not match format string 에러 본문

SQL/Oracle SQL

[sql] ORA-01861: literal does not match format string 에러

trueman 2022. 5. 2. 17:14
728x90
728x90

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


literal does not match format string

Oracle등 DB Tool을 사용하여 SQL Insert 할경우는 정상이지만, JDBC를 통한 SQL Insert 를 할경우 다음과 같은 에러 메시지가 발생하였다. 물론 이 부분도 개발서버에서는 정상적으로 SQL insert가 이뤄져서 운영서버에 반영할 떄에는 몰랐던 문제였다.

 

원인은 개발 DB의 문자셋과 언어설정, 날짜설정이 운영DB의 설정 값과 다르기 때문에 나타나는 문제였으며, TO_DATE 함수를 사용하여 해결하였다.

INSERT INTO 테이블명(
    컬럼명
)VALUES (
    TO_DATE(컬럼명, 'YYYY-MM-DD hh24miss')
)

728x90
728x90