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)

 

[Java] SimpleDateFormat HH vs kk

SimpleDateFormat HH vs kk 보통 시간포맷은 HH (24시간)형식을 사용한다,  그럼 kk 는? 이것도 24시간형식이지만 하나가 다르다. 0시를 HH는 0시로 표시하지만, kk 는 24시로 표시한다. SimpleDateFormat format..

devbible.tistory.com

 

반응형