본문 바로가기
Database

[ORA-01861] literal does not match format string

by 태진아밴드 2019. 10. 15.

어제 외부에서 DB서버 작업을 하고 난 뒤로 관리자페이지에서 잘 작동하던 페이지가 안되는 현상이 발생했다.

 

모든페이지가 작동을 안하는게 아니라 신규로 추가된 부분만 안되길래 로그를 뒤져보니 쿼리문에서 에러가 떨어졌다.

 

응..? 그전까지 잘 돌아가던 쿼리가 갑자기..?

 

혹시나 싶어서 운영서버랑 개발서버 모두 확인해봤지만 둘 다 저 에러가 발생하는 상황.

 

신규로 추가한 부분은 업로드 이후에 건드렸던 적이 없기에 이상해서 로컬에서 돌려봤더니

 

로컬에서는 너무너무 잘돌아가네..?

 

왜죠..?

 

열심히 구글링을 하던 도중, OS의 LANG 설정이 달라서 문자열을 묵시적으로 변환 못한다는 글을 발견했다.

 

https://blog.naver.com/PostView.nhn?blogId=hanccii&logNo=220992089311&categoryNo=9&parentCategoryNo=9

 

ORA-01861: literal does not match format string

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

blog.naver.com

 

NLS_DATE_FORMAT은

 

- Windows 에서는 RR-MM-DD

 

- Linux에서 LANG=ko_kr.utf-8 일때는 RR-MM-DD

 

- Linux에서 LANG=en_us.utf-8 일때는 DD-MON-RR

 

설마..하고 만들었던 쿼리문 입력받는 파라미터 값에 To_char() 함수랑 To_date() 함수를 넣었더니 다시 넘나 잘됨..!

 

엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

개발할 때 쿼리 짜놓고 와! 잘 돌아가네! 이러고 있었기에 안되는 이유도 모르고있었다....😐

 

이번에 외부에서 서버작업하면서 OS의 LANG설정이 바뀌었나보다.. 그덕에 쿼리문의 중대한 결함을 발견!

 

SQL 공부 열심히 하자..ㅠ 뭉충아

'Database' 카테고리의 다른 글

[MySQL] 스키마, 테이블 사이즈 조회  (0) 2022.01.28
[MySQL] 테이블, 컬럼 코멘트 조회  (0) 2021.07.14