Ken Marks <k...@ken-marks.com> wrote:
> I wrote a simplified script that demonstrated the problem
You could simplify it even more:

use strict;
use warnings;
use DBI;
my $dbh = DBI->connect(...);
print $dbh->selectrow_array("select $_"), $/ for qw(
    2.775557561562E-17
    2.7755575615629E-17
);

Anyway, as expected, DBI doesn't seem to be the culprit, it returns
whatever the DB provides, which was never NULL in my tests (various
everything, but no ODBC/MSWindows, sorry).

> It seems that when the mantissa of a number has too many significant digits
> DBI returns a NULL instead of the number.
You can't be sure that's NULL/undef there, at least not until warnings
are enabled.
Try tracing DBI to see what's going on.

Good luck

Reply via email to