In response to Tom Lane <t...@sss.pgh.pa.us>: > Josh Berkus <j...@agliodbs.com> writes: > > postgres=# select '1e+01'::Integer > > postgres-# ; > > ERROR: invalid input syntax for integer: "1e+01" > > I have never heard of any programming system anywhere that accepts such > a syntax for integers (assuming it distinguishes integers from other > numbers at all). I'm not excited about being the first. Why does this > error surprise you? It doesn't seem particularly different from arguing > that 1.000 should be considered an integer, which strikes me as a > seriously bad idea.
But SELECT 1.000::Integer; works. And so does SELECT 1.234::Integer; which I find just as dangerous as SELECT '1.234e+01'::Integer; One of the exciting (but possibly wrong) arguments in favor of this is the fact that some programming languages will output integers in exponential notation when the numbers are very large (PHP is the only example that comes to mind, but it's a pretty common language) which may cause numbers formatted thusly to be included in queries without the programmers prior realization. -- Bill Moran http://www.potentialtech.com http://people.collaborativefusion.com/~wmoran/ -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers