MySql - 列x中时间'hh:mm:ss'的格式错误

时间:2013-02-16 10:47:08

标签: mysql

在MySQL中,我试图区分两个时间戳值并将结果存储在时间列中。但有时结果是'hhh:mm:ss'格式。在尝试使用Result.getTime()在Java中访问该列时,它会抛出错误,说“列x中的时间格式错误”。

为了更好的想法,将以下查询的结果存储在时间列中,并尝试在Java中访问此值。

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

即使它有'hhh:mm:ss'格式(没有任何错误),我该怎么做才能获得结果?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您无法将两个日期之间的差异表示为另一个日期。例如,如果你有31天的差异,你不能说它是1个月还是1个月和1天。

您应该创建自己的对象来存储此数据。

答案 1 :(得分:1)

我假设您运行查询并且结果集包含结果

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]);

我认为,将两个日期之间的差异表示为日期是毫无意义的。只是为了回答你的问题,如果你想创造时间,你可以使用以下

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

但我觉得它毫无意义。