in reply to Null fields

You get your values from a fetch.
Fetch returns undef for NULL values.

Replies are listed 'Best First'.
Re: Re: Null fields
by Tyke (Pilgrim) on Mar 27, 2001 at 19:59 UTC
    And how are null fields held in a CVS file? Just curious.

      Hmm, yes,

      my $csv_data = "foo,,bar"; foreach ( split /,/, $csv_data ) { print "'$_' => ", defined($_), "\n"; }

      Gives you

      'foo' => 1
      '' => 1
      'bar' => 1
      

      So that middle value is not undef, but "". Of course, since DBI's results are supposed to be as independent as possible of the underlying data structure, there may -- in fact, should -- be routines within DBD::CSV to convert "" to undef, which is what you'd expect to get if you were using an actual RDBMS. That's assuming it even uses something so crude as that split to get at the data =)

      /me is too lazy to look at the source code.
        Ah, but I always understood that '' was not the same as null, at least for strings. After all '' ne undef in Perl.

        On the other hand, I also believe that this distinction is database dependent :-(

        Update: As merlyn rightly points out, '' eq undef is true. I goofed.

      They are held as nothing between the commas, like this:
      12,"bla bla",,137

      The third is a NULL.