java - 在 JAVA Netbeans 中的 SQL 算术语句中使用变量/JAVA 函数

标签 java mysql sql function arithmetic-expressions

我正在尝试使用 Java 函数和数据库中定义的另一个属性来查询数据库。该语句不会产生错误。但是,输出是错误的。输出的结果为空,但根据我的检查,它不为空。请问谁能告诉我我需要做什么?如何在SQl语句中使用JAVA函数?

expired_rows = dbMngr.runQuery(String.format("SELECT ID FROM Student WHERE 'System.currentTimeMillis()' - ArrivalTime > (%s) ", 5000));}

if (expired_rows == null) { 
    System.out.println("The number of expired row is " + expired_rows);
}
if (expired_rows != null) { 
    System.out.println("The number of expired row is " + expired_rows.length );
}

最佳答案

您无法按照您尝试的方式使用 java 函数。您只需将字符串“'System.currentTimeMillis()'”传递给 dbms - 您想要传递评估该函数的结果

"SELECT ID FROM Student WHERE  %l - ArrivalTime > (%s) ",System.currentTimeMillis(), 5000));}"

工作? (我不确定 String.format 的语法,也无法访问文档,但希望您能了解情况......)

一个更好的解决方案,但距离您已经完成的工作稍远,是使用 GriffeyDog 建议的PreparedStatement。

此外,如果没有生成错误,那么您的 dbMngr 类很可能会吞掉异常而不报告它们。

关于java - 在 JAVA Netbeans 中的 SQL 算术语句中使用变量/JAVA 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22465404/

相关文章:

java - Mockito单元测试: on all method invocations of a class,返回 "true"

java - 根据 ArrayList 的对象坐标填充 2D 矩阵

java - java中比较二维数组并写入excel中的单个单元格

php - 将变量追加到 mysql 表数据中

mysql - 将mysql Join结果按数字顺序排列

c# - 将 SQL 保留在存储过程与代码中的优缺点是什么

java - 如何在 Javadoc 中引用注释?

java - Oracle异常: SQL command not properly ended

mysql - 没有子查询的最新数据分组

php - Ajax 调用加载好友并在个人资料页面上显示