Prateek
Prateek

Reputation: 4500

MySql - Bad format for Time 'hhh:mm:ss' in column x

In MySQL, I am trying to get difference between two timestamp value and storing the result in time column. But sometimes the result comes in 'hhh:mm:ss' format. While trying to access that column in Java using Result.getTime(), it is throwing error saying 'Bad format for time in column x'.

To get better idea, store the result of following query in time column and try to access this value in Java.

SELECT SEC_TO_TIME(ABS(TIMESTAMPDIFF(SECOND,'2013-01-26 19:03:48','2013-02-15 06:59:36'))) as 'RESULT';

What should I do to get result even if it has 'hhh:mm:ss' format (without any error)?

Thanks in advance.

Upvotes: 2

Views: 3573

Answers (2)

Fathah Rehman P
Fathah Rehman P

Reputation: 8751

I assume you run query and result set contain the result

String hourMinSec=resultset.getString("RESULT");
String[]result=hourMinSec.split(":");
int hour=Integer.parseInt(result[0]);
int min=Integer.parseInt(result[1]);
int second=Integer.parseInt(result[2]);

Expressing difference between two dates as date is meaningless i think. Just to answer your question if you want to create time you can use following

 Time time =new Time(hour, min, second);      

But i feel its meaningless.

Upvotes: 1

Tomasz Fijałkowski
Tomasz Fijałkowski

Reputation: 809

You can't express the difference between two dates as another date. For example if you will got 31 days difference you can't say if it is 1 month or 1 month and 1 day.

You should create your own object to storage this data.

Upvotes: 1

Related Questions