当我运行查询时,我得到的差异为“-00:05:00”。
尝试通过 java 检索此值时出现此异常
java.sql.SQLException: java.sql.SQLException at com.mysql.jdbc.ResultSet.getTimeFromString(ResultSet.java:6111) at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:2137) at com.mysql.jdbc.ResultSet.getString(ResultSet.java:2076) at com.mysql.jdbc.ResultSet.getString(ResultSet.java:2194)
有没有办法将时差转换为字符串,以便如果它是负数我可以通过java检索它。
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 查询将其转换为字符串。
最佳答案
显然,您正在尝试检索持续时间(这是查看两个瞬间之间的时间差的另一种方式),就好像它是相对于 Unix 纪元的时间点一样。
而是检索字符串并使用您自己的代码或使用 JodaTime 对其进行处理,后者理解持续时间的概念。
关于java - 如果java中的结果集为负数,如何获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17489804/