From: | Palle Girgensohn <girgen(at)partitur(dot)se> |
---|---|
To: | Web Manager <web(at)inter-resa(dot)com> |
Cc: | pgsql-general(at)postgreSQL(dot)org |
Subject: | Re: [GENERAL] Default date format to ISO + 1 bug |
Date: | 2000-01-13 18:26:09 |
Message-ID: | 387E18C1.B87266B3@partitur.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Web Manager wrote:
>
> And then... I have a second broblem:
> I have postgres version 6.4.2
>
> I created a new testing db.
> createdb test
> create table toto (num int2, name varchar(16), date_insc date);
>
> When I : insert into toto values (1,'mapaquin',date('now'));
> it give me : 1|mapaquin|12-31-1999
>
> BUT IT IS JAN 13th !!!!!!
Here's with 6.5.2:
girgen=> select date('now');
date
----------
2000-01-01 <----- not quite right ;-)
(1 row)
girgen=> select 'now'::date;
?column?
----------
2000-01-13
(1 row)
girgen=> select date('now'::date);
date
----------
2000-01-13
(1 row)
girgen=> select date('1999-04-01 15:38:15'::date);
date
----------
1999-04-01
(1 row)
It seems, the date() function can't take a string, it needs a date/time type of some sort? This is the cleanest way, probably:
insert into toto values (1,'mapaquin','now');
You can also use 'now'::date with date(), like date('now'::date)...
date() is probably broken in a way; it gives 2000-01-01 for anything it doesn't understand:
pp=> select date(1072842322);
date
----------
2003-12-31
(1 row)
pp=> select date(10728423224); <----- too large number
date
----------
2000-01-01
(1 row)
Maybe this is better than failing, I'm not sure...
PS. I have the line
PGDATESTYLE=ISO; export PGDATESTYLE
in my ~pgsql/.profile, which gives ISO dates, as previously pointed out. You also probably want to set LC_COLLATE or LC_ALL to your proper locale for sorting etc.
/Palle
From | Date | Subject | |
---|---|---|---|
Next Message | Crispin Miller | 2000-01-13 18:56:22 | unscribe |
Previous Message | Barnes | 2000-01-13 17:58:58 | RE: [GENERAL] oid data type |