Обсуждение: [SQL] empty data
> serbr=> CREATE TABLE foo (mtdata date);
> CREATE
> serbr=> \dt
>
> Database = serbr
> +------------------+----------------------------------+----------+
> | Owner | Relation | Type |
> +------------------+----------------------------------+----------+
> | serbr | foo | table |
> +------------------+----------------------------------+----------+
> serbr=> INSERT INTO foo VALUES ('');
> ERROR: Bad date external representation
> serbr=> INSERT INTO foo VALUES ('//');
> ERROR: Bad date external representation
My problem arise in a more general context, where the date may not
be available at the time of data insert/update, and the data must
be empty.
What can I do? (I would not like to define a my own date-type...)
Sergio
>> serbr=> CREATE TABLE foo (mtdata date);
>> CREATE
>> serbr=> \dt
>>
>> Database = serbr
>> +------------------+----------------------------------+----------+
>> | Owner | Relation | Type |
>> +------------------+----------------------------------+----------+
>> | serbr | foo | table |
>> +------------------+----------------------------------+----------+
>> serbr=> INSERT INTO foo VALUES ('');
>> ERROR: Bad date external representation
>> serbr=> INSERT INTO foo VALUES ('//');
>> ERROR: Bad date external representation
>
> My problem arise in a more general context, where the date may not
> be available at the time of data insert/update, and the data must
> be empty.
>
> What can I do? (I would not like to define a my own date-type...)
Try insert into foo values (NULL);
Naturally, this is silly in the example you give since you are putting a
NULL in a single field table and therefore you might as well not put a
value in.
Hope this helps.
Stuart.
+-------------------------+--------------------------------------+
| Stuart Rison | Ludwig Institute for Cancer Research |
+-------------------------+ University College London |
| Tel. (0171) 878 4041 | 91 Riding House Street |
| Fax. (0171) 878 4040 | London, W1P 8BT, UNITED KINGDOM. |
+-------------------------+--------------------------------------+
| stuart@NOJUNK_ludwig.ucl.ac.uk [Remove NOJUNK_ for it to work] |
+----------------------------------------------------------------+
On Mon, 13 Jul 1998, Sergio Brandano wrote:
> > serbr=> CREATE TABLE foo (mtdata date);
> > CREATE
> > serbr=> INSERT INTO foo VALUES ('');
> > ERROR: Bad date external representation
guido=> INSERT INTO foo VALUES (null);
INSERT 144906 1
Postgres doesn't like empty strings for date fields.
When using the COPY command (for loading data from a file)
null date fields should contain \N (backslash, capital N).
regards,
------------------------------------------------------------------------
// Guido Carlo Piazzi Accompagnatore naturalistico
// gpiazzi@nemo.it Visitate il sito WWW.ParcoDelTicino.Pmn.It
------------------------------------------------------------------------