存储过程(postgresql)和jdbc结果不同

时间:2014-01-15 14:07:16

标签: java postgresql-9.1 numeric

我有一个返回numeric的存储过程,当我在db(posgtresql 9.1)上运行它时,结果是367,52。但是当我在java上运行它时,result(resultset.getString)是367,50

它总是不会发生。大多数情况下结果相同但有时结果却不同。

我的jdbc驱动程序:postgresql-9.1-903.jdbc3.jar。 java:jdk 6

函数非常大,它用双精度值计算,然后将它们转换为数值。 在db:

SELECT function::numeric from function(bigint parameter)

在java中;

PreparedStatement ps=conn.prepareStatement("SELECT function::numeric from function(bigint parameter)");
ResultSet rs=ps.executeQuery();

if(rs.next()){
  System.out.println(rs.getString(1));
}

1 个答案:

答案 0 :(得分:0)

我将我的jdbc驱动程序更改为postgresql-8.2-508.jdbc2ee.jar并解决了问题。