gpt4 book ai didi

java - 如何从Access数据库中获取java中时间字段的SUM

转载 作者:行者123 更新时间:2023-11-30 03:16:24 25 4
gpt4 key购买 nike

我的 Access 数据库中有一个名为 Break 的表。但是,我需要找到“breakstart”字段的总和,其格式与 Access 数据库中的格式相同。例如采用 (hh:mm:ss) 格式。

                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:MominDB","","");
stmt = con.createStatement();
rs=stmt.executeQuery("select SUM(totalbreak) AS SUM_HOURS from Break ");
String s1=null;
while(rs.next())
{
System.out.println(rs);

s1=rs.getString("SUM_HOURS");

}
System.out.println(s1);

它给我的输出为 2.66203703703704E-4。任何帮助将不胜感激。

即使下面的代码也不起作用。

                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:MominDB","","");

stmt = con.createStatement();
rs=stmt.executeQuery("SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(breakstart))) from Break ");
String s1=null;
while(rs.next())
{
System.out.println(rs);

s1=rs.getString(1);

}
System.out.println(s1);

它显示运行时间错误为表达式中未定义的函数“SEC_TO_TIME”。

最佳答案

请注意,Access 中的日期/时间值基于 double 。因此,从数字上看,总和是双倍的,实际上是天数。

在 Access 中,您可以使用 CDate 转换该值:

TotalTime = CDate(2.66203703703704E-4) 
' Result: 00:00:23

使用纯数学:

TotalSeconds = 2.66203703703704E-4 * 24 * 60 * 60
' Result: 23

我不会Java,所以不知道如何在Java中转换,但是Access中日期/时间的数字零值是1899-12-30 00:00:00

所以删除你的字符串处理 - 时间不是文本。

最后,这与 MySQL 无关,因此您通过将其称为 MySQL 查询来增加困惑。

关于java - 如何从Access数据库中获取java中时间字段的SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32463724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com