大家好,我现在是用jdbc连接orocle,现在遇到这样的一个问题:
比如某字段是 NUMBER 类型,但是值为空,我利用
ResultSet rs = stmt.executeQuery();
rs.next();
System.out.println(rs.getDouble(1));发现打印出的是0.0,怎样才能是null呢?

解决方案 »

  1.   

    用getDouble()显然会返回0(如果值为null)。
    可以改用getObject(1),如果为NULL,则返回null
      

  2.   

    谢谢。我发现用getString(1)同样也是返回的是null,这样用可以吗?
    还有一个问题,如果某个字段是 NUMBER 类型,我利用 getString 来取取值,这样会造成数据的偏差吗?
      

  3.   

    这跟具体的DBMS的jdbc实现有关。oracle的实现,应该是作了number到string的转换。
    不过,我还是推荐使用getObject,在oracle中比较通用。