首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过输入id获取DateDiff,同时进行SQL查询?

如何通过输入id获取DateDiff,同时进行SQL查询?
EN

Stack Overflow用户
提问于 2020-12-05 21:59:07
回答 1查看 32关注 0票数 0

MY DB TABLE

我当前的代码是..

代码语言:javascript
复制
SELECT DATEDIFF(DAY, Return_Date , Submit_Date )FROM Issue WHERE Book_ID = ?

但是它显示了一个错误:“调用本机函数‘DATEDIFF’时的参数计数不正确”。

完整的代码是

代码语言:javascript
复制
    Connection conn;
    Connct readerconn = new Connct();
    conn =readerconn.getConnection();
    
    
       try{
        String query = "SELECT DATEDIFF(Return_Date , Submit_Date) FROM issue WHERE Book_ID = ?" ;
        Double diff=null;

        PreparedStatement pstnt=conn.prepareStatement(query);           
        pstnt.setInt(1, Integer.parseInt( jTextField4.getText()));
        
        try (ResultSet rs = pstnt.executeQuery( query ) ;) {
        while ( rs.next ( ) ) {
            diff = rs.getDouble( 1 ) ;
            
            if(diff<=7){
                Double fine=diff-7*10;
                fine = Double.valueOf(jTextField1.getText());
                
            }
            else{
                showMessageDialog(null,"No Fine");                   
            }
        }
                    
        
        } catch ( SQLException ex ) {
            Logger.getLogger(ReturnNFines.class.getName()).log(Level.SEVERE, null, ex);
            showMessageDialog(null,"Error"); 
        }

        
    } catch (SQLException ex) {
        Logger.getLogger(ReturnNFines.class.getName()).log(Level.SEVERE, null, ex);
        showMessageDialog(null, "Failed");
    }

我正在尝试从JText文件中获取id,并查找包含输入id的行的DateDiff,

EN

回答 1

Stack Overflow用户

发布于 2020-12-05 22:02:22

错误消息表明您正在使用MySQL/MariaDB。在这个数据库中,function datediff()只接受两个参数,这两个参数都是日期(或-)。

所以:

代码语言:javascript
复制
select datediff(return_date , submit_date) from issue where book_id = ?

请注意,该函数实际上计算了两个参数之间存在多少天界限,如果参数有时间成分,可能是您所期望的,也可能不是;通常,DATEDIFF('2007-12-31 23:59:59','2007-12-30')1

如果您希望计算将24小时的间隔视为一天,则可以使用timestampdiff()和算术,如下所示:

代码语言:javascript
复制
timestampdiff(second, submit_date, return_date) / 60 / 60 / 24

这为您提供了十进制天数形式的日期差异。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65157707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档