我有一个返回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));
}
答案 0 :(得分:0)
我将我的jdbc驱动程序更改为postgresql-8.2-508.jdbc2ee.jar并解决了问题。