Re: BUG #6113: SET DATESTYLE='European' does not set datestyle output correctly - Mailing list pgsql-bugs

From Bernd Helmle
Subject Re: BUG #6113: SET DATESTYLE='European' does not set datestyle output correctly
Date
Msg-id 111910B9C47F9E5CA25F3F78@apophis.local
Whole thread Raw
In response to BUG #6113: SET DATESTYLE='European' does not set datestyle output correctly  ("David Carlos Manuelda" <StormByte@gmail.com>)
List pgsql-bugs
--On 12. Juli 2011 04:32:11 +0000 David Carlos Manuelda <StormByte@gmail.com>
wrote:

>
> The following bug has been logged online:
>
> Bug reference:      6113
> Logged by:          David Carlos Manuelda
> Email address:      StormByte@gmail.com
> PostgreSQL version: 9.0.4
> Operating system:   Gentoo Linux
> Description:        SET DATESTYLE='European' does not set datestyle output
> correctly
> Details:
>
> According to Doc (http://www.postgresql.org/docs/7.2/static/sql-set.html),
> there are different datestyles available to format date outputs.

This is a very outdated documentation link, you should refer to the 9.0
documentation instead:

<http://www.postgresql.org/docs/9.0/static/runtime-config-client.html#RUNTIME-CONFIG-CLIENT-FORMAT>

> But either is a bug in doc or is a bug in postgre itself, but 'European'
> does not currently do what it is intended (it does nothing actually).
>

[...]

> As you can see, SET DATESTYLE='European' just did nothing and did not change
> it from last set which was 'German', and of course, it does not even outputs
> what was expected and stated in documentation.

'European' or 'Euro' is just another way to write 'DMY' as an input format for
the date part. At least, for me it works as expected:

SET datestyle TO 'ISO, mdy';

SELECT '27.12.2011'::date;
ERROR:  22008: date/time field value out of range: "27.12.2011" at character 8
HINT:  Perhaps you need a different "datestyle" setting.
LOCATION:  DateTimeParseError, datetime.c:3541
STATEMENT:  SELECT '27.12.2011'::date;
ERROR:  date/time field value out of range: "27.12.2011"
LINE 1: SELECT '27.12.2011'::date;
               ^
HINT:  Perhaps you need a different "datestyle" setting.

SET datestyle TO 'European';

SHOW datestyle;
 DateStyle
-----------
 ISO, DMY
(1 row)


SELECT '27.12.2011'::date;
    date
------------
 2011-12-27
(1 row)


--
Thanks

    Bernd

pgsql-bugs by date:

Previous
From: "David Carlos Manuelda"
Date:
Subject: BUG #6113: SET DATESTYLE='European' does not set datestyle output correctly
Next
From: Daniele Varrazzo
Date:
Subject: extract(epoch from infinity) is not 0