SQL> create table mje (a int, b varchar(10) null default null); SQLRowCount returns -1 SQL> insert into mje (a,b) values(1,'fred'); SQLRowCount returns 1 SQL> insert into mje (a,b) values(2, ''); SQLRowCount returns 1 SQL> insert into mje (a) values(3); SQLRowCount returns 1 SQL> select * from mje; +------------+-----------+ | a | b | +------------+-----------+ | 1 | fred | | 2 | | | 3 | | +------------+-----------+ SQLRowCount returns -1 3 rows fetched
perl -MDBI -le 'my $h = DBI->connect; use Data::Dumper; my $r = $h->se +lectall_arrayref("select * from mje");print Dumper($r);' $VAR1 = [ [ 1, 'fred' ], [ 2, '' ], [ 3, undef ] ];
So empty strings in this case are defined and NULLs in the databases are returned as undef in Perl. undef is a Perl thing and NULL is a SQL thing so when you say "How can I separate the undef data and NULL data" it does not make sense.
In reply to Re: Perl DBI NULL and undef
by mje
in thread Perl DBI NULL and undef
by chefchanyu
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |