我有一个聚合列显示微秒,一个报告(带有碧 Jade )必须显示该指标的 HH:mm:ss
我所做的是使用 SEC_TO_TIME(sum(col)/1000) ,但是当映射到 java.sql.Time 时,当结果中的小时值超过 24(ex:36:33: 33)
然后我想到了另一种方式,不使用sec_to_time,只是将微秒映射为Bigdecimal, 但不知道我应该使用什么 java 类来将日期格式化为 hh:mm:ss 的默认格式限制为 24...?
最佳答案
java.sql.Time
表示一个时间点。您试图表示一个持续时间,而不是一个时间点。因此,尝试将其“转换”为 java.sql.Time
在概念上是错误的,因此您会看到错误也就不足为奇了。
SEC_TO_TIME
可以完成您需要的所有格式设置,对吗?因此,只需选择该表达式并将其作为 String
从 ResultSet
中检索。
或者,如果您想用 Java 而不是 SQL 来表示和格式化持续时间,请使用 Joda Time .
关于java - SEC_TO_TIME() 转换为 java.sql.Time 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2607472/