java - 如果java中的结果集为负数,如何获取时间

标签 java mysql

当我运行查询时,我得到的差异为“-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/

相关文章:

mysql - 简单的 SELECT 查询对于 ~4Gb 表 (MariaDB) 来说很慢

mysql查询以获取特定日期之间的记录

java - 缺少序列或表 : hibernate_sequence

java - 在线程中的 Catch 中抛出

mysql - 在包含两个表的记录的交叉表的单个查询中选择三个记录 - MYSQL

java - Sugar ORM 如何将数据添加到表中的一行

mysql - 如何从 sql 中的某些 ID 获取最小值和最大值

java - Apache WSS4J 无法初始化

java - 当元素中仅包含部分字符串时,如何从列表中获取索引?

java - 与xml spring配置相关