250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- Effective Java
- migration
- nodejs
- REACTJS
- spring
- MySQL
- log4j2
- log_bin
- Node
- mysql 5.5
- upgrade
- eslint
- regex
- Effective Java 3/e
- spring cloud
- update
- Express
- REACT
- java
- 퀵소트
- Regular expression
- JavaScript
- Spring Batch
- git
- expire_logs_days
- Chunk
- npm
- current_date
- 정규표현식
- try catch
Archives
- Today
- Total
내 세상
[MyBatis] Error - java.sql.SQLException: Illegal hour value '26' for java.sql.Time type in value '26:00:01 본문
Technical/Spring
[MyBatis] Error - java.sql.SQLException: Illegal hour value '26' for java.sql.Time type in value '26:00:01
sga8 2020. 8. 24. 18:51728x90
반응형
아래의 SQL을 Mybatis에서 동작하면 error가 발생한다.
SELECT TIMEDIFF(start_time,end_time)) as timegap FROM test_log;
아래와 같은 error가 발생하게 된다. java.sql.SQLException:
Error - java.sql.SQLException: Illegal hour value '26' for java.sql.Time type in value '26:00:01
해당 에러는 time 값을 연산했을 때, hh:mm:ss 를 기준으로 각 단위가 hh는 0~24, mm/ss은 00~60 이런식의 범위를 넘으면 발생함.
구글링을 한 결과 해결 방법은 연산된 Date/Time의 값을 String으로 변환하여 Type에 얽힌 error가 발생하지 않도록 하는 것임.
2가지 방법이 있음.
1. concat을 통해서 date를 강제로 string으로 만들어주는 방법
SELECT CONCAT('', TIMEDIFF(start_time,end_time))) as timegap FROM test_log;
2. cast를 통해서 date를 char로 만들어주는 방법
SELECT CAST(TIMEDIFF(start_time,end_time)) AS CHAR) as timegap FROM test_log;
728x90
반응형
'Technical > Spring' 카테고리의 다른 글
[Spring] 전역 변수 사용하기 (0) | 2020.08.28 |
---|---|
[Spring] CORS를 조져보자 -- TBD (0) | 2020.08.24 |
[Spring] Spring in Action, Chapter 16. 스프링 MVC로 REST API 사용하기 (0) | 2019.07.30 |
[Spring] Spring in Action, Chapter 11. 객체 관계형 매핑을 통한 데이터 퍼시스팅 (0) | 2019.07.30 |
[Spring] Spring in Action, Chapter 5. 스프링 웹 애플리케이션 만들기 (0) | 2019.07.30 |