Back End/Java
[Java] SimpleDateFormat 시간 포맷 HH, kk 차이 (00시가 24시로 표시될 때) ORA-01850: hour must be between 0 and 23
염소
2021. 9. 23. 21:15
반응형
■ 상황
- 서버에 아래와 같은 로그가 발생하는것을 파악했다.
Error querying database. Cause: java.sql.SQLDataException: ORA-01850: hour must be between 0 and 23
■ 원인
- Java에서 SimpleDateFormat을 통해 시간을 String으로 변환한다.
- 변환한 String데이터를 후에 MyBatis를 통해 맵퍼에서 오라클 TO_DATE함수를 통해 비교한다.
- 여기서 변환 시 시간 포맷을 HH 대신 kk를 사용했기 때문이다.
ㄴ2021-09-23 00:23 을 202109230023 이 아니라 202109232423 으로 변환하게 된다.
- 오라클에서는 24시를 지원하지 않기 때문에 에러가 발생했다.
■ 관련 참고자료
[Java] SimpleDateFormat HH vs kk - devbible (tistory.com)
반응형