Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Null fields

by busunsl (Vicar)
on Mar 27, 2001 at 19:46 UTC ( #67517=note: print w/replies, xml ) Need Help??


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.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://67517]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2018-07-20 17:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?















    Results (438 votes). Check out past polls.

    Notices?