0

当我运行查询时,我得到的差异是“-00:05:00”。

尝试通过 java 检索此值时出现此异常

java.sql.SQLException:com.mysql.jdbc.ResultSet.getTimeFromString(ResultSet.java:6111) 处 com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:2137) 处的 java.sql.SQLException。 jdbc.ResultSet.getString(ResultSet.java:2076) 在 com.mysql.jdbc.ResultSet.getString(ResultSet.java:2194)

有没有办法将时差转换为字符串,如果它是负数,我可以通过 java.lang.

select TIMEDIFF(STR_TO_DATE(std,"%H:%i"),STR_TO_DATE(SUBSTRING(deptime,(INSTR(deptime,":")-2)),"%H:%i")) as dep_diff from table 

试图用java检索为

rs.getString("dep_diff");

问题是我正在获取两个日期时间字段的差异并将差异作为 dep_diff,我无法通过 mysql 查询将其转换为字符串。

4

1 回答 1

0

显然,您正在尝试检索持续时间(这是查看两个瞬间之间时间差的另一种方式),就好像它是相对于 Unix 纪元的时间点一样。

取而代之的是检索字符串并使用您自己的代码或 JodaTime 处理它,它了解持续时间的概念。

于 2013-07-05T13:25:54.277 回答