DelphiFAQ Home Search:

JDBC error message Illegal hour value for java.sql.Time type in value

 

commentsThis article has not been rated yet. After reading, feel free to leave comments and rate it.

Question:

I am getting a mysql exception with JDBC:

javax.servlet.ServletException: java.sql.SQLException: java.sql.SQLException: Illegal hour value '94' for java.sql.Time type in value '94:42:06.

The statement runs OK in the mysql shell (see below).
What can I do?

Answer:

This is a known bug in mysql 5.0

A workaround is to convert this query to return a string. E.g. you can query

concat('',timediff(NOW(),from_unixtime(max(t_time))))

Then the returned value will be a string instead of a time field and JDBC will not parse it.

mysql> select timediff(NOW(),from_unixtime(max(t_time))) from [..]

+--------------------------------------------+
| timediff(NOW(),from_unixtime(max(t_time))) |
+--------------------------------------------+
| 94:41:48                                   | 
+--------------------------------------------+
1 row in set (0.09 sec)



Comments:

 

 

NEW: Optional: Register   Login
Email address (not necessary):

Rate as
Hide my email when showing my comment.
Please notify me once a day about new comments on this topic.
Please provide a valid email address if you select this option, or post under a registered account.
 

Show city and country
Show country only
Hide my location
You can mark text as 'quoted' by putting [quote] .. [/quote] around it.
Please type in the code:

Please do not post inappropriate pictures. Inappropriate pictures include pictures of minors and nudity.
The owner of this web site reserves the right to delete such material.

photo Add a picture: