RE: [HACKERS] Error in the date field (with NULL value...).Thanks! - Mailing list pgsql-general

From Christopher Kings-Lynne
Subject RE: [HACKERS] Error in the date field (with NULL value...).Thanks!
Date
Msg-id ECEHIKNFIMMECLEBJFIGAECNCAAA.chriskl@familyhealth.com.au
Whole thread Raw
In response to Error in the date field (with NULL value...).Thanks!  (Maurizio Ortolan <crix98__@tin.it>)
List pgsql-general
Just do a search-replace on your source file and replace all occurrences of
'' with NULL.

Chris

-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Maurizio Ortolan
Sent: Thursday, 29 March 2001 12:51 PM
To: pgsql-hackers@postgresql.org; pgsql-sql@postgresql.org;
pgsql-general@postgresql.org; pgsql-ports@postgresql.org;
pgsql-admin@postgresql.org; pgsql-bugs@postgresql.org;
pgsql-patches@postgresql.org
Subject: [HACKERS] Error in the date field (with NULL value...).Thanks!


Subject: Importing data from Informix to PostgreSQL.
              Error in the date field (WITH NULL value)

Hello!
I'll try to explain my little problem. Well, I have this table

create table  mytable
   ( codice     char(16) not null,
     dt_inizio  date,
     dt_fine    date,
     tipo_operazione char(1),
     causa_operazione integer
   );

ok!

I find out that pgsql:

In my example '' is the NULL value exported from Informix... !  (an ASCII
file)

                    INFORMIX                       PostgreSQL
char(16)               ''              ------>       blank
string         (I think it's   ok! )
char(1)                ''               ------>       blank
string         (I think it's ok)
integer                ''               ------>         0              (is
it an error? )
date                   ''                ------>      ERROR!  Bad date
external representation ''


 >> select * from mytable ;

    codice                     | dt_inizio       | dt_fine |
tipo_operazione | causa_operazione

  ABCEDEFFFFFFFFF |
2001-03-28  |             |                       |            0
  XXXYYYAAA23C957Y |
2001-03-28  |             |                      |            0


clinica=# insert into mytable values ( '','03/28/2001', '' , '' , ''  );
ERROR:  Bad date external representation ''                   ^^^

PostgreSQL doesn't want '' as an input of a date with NULL value:
it's necessary to use this kind of insert:

 >> insert into mytable values ( '','03/28/2001',null,'','');
                                                                 ^^^^^^

Now there is a new line in the table:

                                   |
2001-03-28  |             |                      |            0


My question:
How can I resolv my problem?  I have a big data file to import where
in the 2nd date field there is '' instead of  null ....

How can I "binds" PostgreSQL to consider '' as null ?

Many thanks for any suggestions!

CIAO!
MAURIZIO

*******************************************
**  Happy surfing on THE NET !!      **
**           Ciao by                           **
**                       C R I X 98          **
*******************************************
AntiSpam: rimuovere il trattino basso
                 dall'indirizzo  per scrivermi...
(delete the underscore from the e-mail address to reply)


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly


pgsql-general by date:

Previous
From: "Gordon A. Runkle"
Date:
Subject: How much log space doesvacuum need?
Next
From: Alexander Lohse
Date:
Subject: Re: php & pgsql under OSX