Dates and year 2000

Started by Andy Mardenabout 24 years ago7 messagesbugs
Jump to latest
#1Andy Marden
amarden@usa.net

Am loading date fields from text in one table to date in another. Format of
the text dates is 'DD.MM.YY', so that's the format mask I use. Dates for
2001 work OK - '02.09.01' translates as '2001-09-02', but '02.09.00'
translates to '0001-09-02 BC'! The y2k.html part of the integrated doc says
that 70 - 69 equates 1970 - 2069.

Am I missing something?

Version 7.1.3 on RH 7.2 BTW

Cheers

Andy

#2Andy Marden
amarden@usa.net
In reply to: Andy Marden (#1)
Re: Dates and year 2000

Is this a bug?

"Andy Marden" <amarden@usa.net> wrote in message
news:a4u6fh$orp$1@jupiter.hub.org...

Am loading date fields from text in one table to date in another. Format

of

the text dates is 'DD.MM.YY', so that's the format mask I use. Dates for
2001 work OK - '02.09.01' translates as '2001-09-02', but '02.09.00'
translates to '0001-09-02 BC'! The y2k.html part of the integrated doc

says

Show quoted text

that 70 - 69 equates 1970 - 2069.

Am I missing something?

Version 7.1.3 on RH 7.2 BTW

Cheers

Andy

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andy Marden (#2)
Re: Dates and year 2000

"Andy Marden" <amarden@usa.net> writes:

Is this a bug?

Yes. It's fixed in 7.2 ...

regards, tom lane

#4Thomas Lockhart
lockhart@fourpalms.org
In reply to: Andy Marden (#1)
Re: Dates and year 2000

Is this a bug?

Am loading date fields from text in one table to date in another.
Format of the text dates is 'DD.MM.YY', so that's the format mask
I use. Dates for 2001 work OK - '02.09.01' translates as
'2001-09-02', but '02.09.00' translates to '0001-09-02 BC'!
The y2k.html part of the integrated doc says that 70 - 69 equates
1970 - 2069.
Am I missing something?
Version 7.1.3 on RH 7.2 BTW

What do you mean by "format mask I use"? Are you trying to enter things
like

insert into t1 values (date '02.09.01');
insert into t1 values (date '02.09.00');
...

or are you using to_date() which has the notion of templates or "masks"?

lockhart=# select date '02.09.01';
------------
2001-02-09
lockhart=# select date '02.09.00';
------------
2000-02-09
lockhart=# select version();
-------------------------------------------------------------
PostgreSQL 7.1.2 on i686-pc-linux-gnu, compiled by GCC 2.96

thomas=# select date '02.09.00';
date
------------
2000-02-09
thomas=# select version();
-----------------------------------------------------------
PostgreSQL 7.2 on i686-pc-linux-gnu, compiled by GCC 2.96

So, no bug unless you can be more explicit about your test case...

- Thomas

#5Andy Marden
amarden@usa.net
In reply to: Andy Marden (#1)
Re: Dates and year 2000

Do we have a workaround for 7.1.3? I don't really want to risk
an upgrade at this stage in the system

Cheers

Andy
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Andy Marden" <amarden@usa.net>
Cc: <pgsql-bugs@postgresql.org>
Sent: Wednesday, February 20, 2002 11:21 PM
Subject: Re: [BUGS] Dates and year 2000

Show quoted text

"Andy Marden" <amarden@usa.net> writes:

Is this a bug?

Yes. It's fixed in 7.2 ...

regards, tom lane

#6Andy Marden
amarden@usa.net
In reply to: Andy Marden (#5)
Re: Dates and year 2000

Just discovered that column::date works fine but to_date(column, 'DD.MM.YY')
causes the problem. I was trying to write portable SQL, but never mind!

Andy

""Andy Marden"" <amarden@usa.net> wrote in message
news:007301c1baad$b60d7b90$0100000a@marden1...

Show quoted text

Do we have a workaround for 7.1.3? I don't really want to risk
an upgrade at this stage in the system

Cheers

Andy
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Andy Marden" <amarden@usa.net>
Cc: <pgsql-bugs@postgresql.org>
Sent: Wednesday, February 20, 2002 11:21 PM
Subject: Re: [BUGS] Dates and year 2000

"Andy Marden" <amarden@usa.net> writes:

Is this a bug?

Yes. It's fixed in 7.2 ...

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

#7Thomas Lockhart
lockhart@fourpalms.org
In reply to: Andy Marden (#5)
Re: Dates and year 2000

Just discovered that column::date works fine but to_date(column, 'DD.MM.YY')
causes the problem. I was trying to write portable SQL, but never mind!

Portable (as in SQL9x) would be

cast(column as date)

which is also accepted by PostgreSQL...

- Thomas