Oracle JDBC sql语句where null不返回任何数据

时间:2014-03-14 14:01:42

标签: java sql oracle jdbc

我有一个java项目,我需要获取没有设置日期的行数(Oracle表中这些行的日期为空)。

该项目使用Oracle jdbc 6(ojdbc6.jar)在Java 6中。

Statement statement = null;
String query = " select count(*) thesum from jobview where starteddate is null";

statement = con.createStatement();

ResultSet resultSet = statement.executeQuery(query);
if(resultSet.next()) {
   workCount = new Integer(resultSet.getInt("thesum"));
}

现在,问题是workCount始终为0.

如果我在SQLDeveloper中运行相同的查询,它会返回一个结果,其中包含initialdate的行数与预期值(意味着不是0)。

我在这里缺少什么,或者是否有一些知道oracle驱动程序或我的java版本(build 1.6.0_29)的bug,这是一个项目限制......

1 个答案:

答案 0 :(得分:0)

我们的开发环境是使用 Ubuntu 12.04 Lts 通过 VMware Player免费版本 5.0.2-1031769 6.0建立的.1-1379776 即可。两人都表现出这个错误。

我们将 VMware Player免费 VMware Workstation 许可版交换,现在它可以正常运行。所以这个问题似乎与虚拟化软件,操作系统和java(jdbc驱动程序)的组合有关。我希望有其他人遇到同样的问题找到这篇文章,这样可以为他们节省很多时间,并试图调试这个问题。