Even if I allow null values and replace all the NV instances with ""(nothing), I still get zero in that cell.

I suspect that this isn't doing what you think it is. Where MySql is concerened, "" is not the same as NULL.

Consider the following example:

mysql> create table foo (Year year(2) default null); Query OK, 0 rows affected (0.06 sec) mysql> insert into foo values (""); Query OK, 1 row affected (0.00 sec) mysql> select * from foo; +------+ | Year | +------+ | 00 | +------+ 1 row in set (0.00 sec) mysql> insert into foo values (NULL); Query OK, 1 row affected (0.01 sec) mysql> select * from foo; +------+ | Year | +------+ | 00 | | NULL | +------+ 2 rows in set (0.01 sec)

If you want to represent your NV values with NULL, then you need to explicity specify NULL when you insert. (If you are using placeholders, then I think an undef value will evaluate to NULL, but you'd have to check that).

Update: Actually (and before somebody jumps on me), that statement above isn't quite true. eg:

mysql> insert into foo values (); Query OK, 1 row affected (0.00 sec) mysql> select * from foo; +------+ | Year | +------+ | 00 | | NULL | | NULL | +------+
Of course, because NULL is the default - if you just insert without giving anything at all - you'll get NULL :)

Hope this helps,
Darren :)


In reply to Re: working with year in mysql by McDarren
in thread working with year in mysql by mkahn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.