<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Thanks, you resolved my problem!<br>
<br>
If it can help someone, this is how to do:<br>
<br>
<font color="#3366ff"> public static void main( String[] args ) {<br>
try {<br>
StringBuffer sb = new StringBuffer();<br>
Properties props = new Properties();<br>
<br>
// Connexion<br>
props.setProperty( "user", "postgres" );<br>
Connection _connexion = DriverManager.getConnection(
"jdbc:postgresql://127.0.0.1:5432/test", props );<br>
// Create and fill the table<br>
sb.append( "create temporary table test_oliv (val float);"
);<br>
sb.append( "insert into test_oliv(val) values (1.8);" );<br>
sb.append( "insert into test_oliv(val) values (1.8);" );<br>
sb.append( "insert into test_oliv(val) values (1.8);" );<br>
_connexion.prepareStatement( sb.toString() ).execute();<br>
<br>
// Request<br>
ResultSet rs = _connexion.prepareStatement( "select
sum(val) as t from test_oliv;" ).executeQuery();<br>
rs.next();<br>
System.out.println( "Before:" );<br>
// <b>Responses from jdbc driver: not the same</b>
displayed by the basic psql editor of postgres.<br>
System.out.println( "Value: " + rs.getFloat( "t" ) );<br>
rs.close();<br>
<br>
</font><font color="#3366ff"><font color="#cc0000">_connexion.prepareStatement(
"SET extra_float_digits=0" ).execute();</font><br>
rs = _connexion.prepareStatement( "select sum(val) as t
from test_oliv;" ).executeQuery();<br>
rs.next();<br>
System.out.println( "After:" );<br>
// <b>Responses from jdbc driver: the same</b> displayed
by the basic psql editor of postgres.<br>
System.out.println( "Value: " + rs.getFloat( "t" ) );<br>
<br>
rs.close();<br>
<br>
_connexion.close();<br>
} catch ( Exception e ) {<br>
e.printStackTrace();<br>
}<br>
}<br>
</font><br>
Regards<br>
<br>
Olivier Bouiron<br>
<br>
Le 28/04/2010 02:04, Oliver Jowett a écrit :
<blockquote cite="mid:4BD77B70(dot)40603(at)opencloud(dot)com" type="cite">Olivier
Bouiron wrote:
<br>
<br>
<blockquote type="cite">Under the psql editor, when I want the sum of
these 3 rows, the answer is 5.4.
<br>
But, under Java using the JDBC connector, the answer is 5.399999
<br>
<br>
I tried to use an other connector (postgresql-8.2-510.jdbc4) and the
problem disapears.
<br>
</blockquote>
<br>
I'd guess that it is due to newer drivers setting extra_float_digits.
See <a class="moz-txt-link-freetext" href="http://archives.postgresql.org/pgsql-jdbc/2009-05/msg00077.php">http://archives.postgresql.org/pgsql-jdbc/2009-05/msg00077.php</a>
<br>
<br>
-O
<br>
<br>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Olivier Bouiron
Institut Sainte Catherine
1750, chemin du lavarin
84000 AVIGNON
Tel: 04.90.27.57.43
</pre>
</body>
</html>