Re: Validity check in to_date? - Mailing list pgsql-sql

From Christoph Haller
Subject Re: Validity check in to_date?
Date
Msg-id 200312020927.KAA17321@rodos
Whole thread Raw
In response to Validity check in to_date?  ("Alexander M. Pravking" <fduch@antar.bryansk.ru>)
Responses Re: Validity check in to_date?
Re: Validity check in to_date?
List pgsql-sql
> 
> I just discovered that to_date() function does not check if supplied
> date is correct, giving surprising (at least for me) results:
> 
> fduch=# SELECT to_date('31.11.2003', 'DD.MM.YYYY');
>   to_date
> ------------
>  2003-12-01
> 
> or even
> 
> fduch=# SELECT to_date('123.45.2003', 'DD.MM.YYYY');
>   to_date
> ------------
>  2007-01-03
> 
> to_timestamp() seems to work the same way. It's probably useful sometimes,
> but not in my case... Is it how it supposed to work?
> If so, how can I do such a validity check?
> If not, has something changed in 7.4?
> 
> In any case, I have to find a workaround now and will appreciate any help.
> 
> 
> fduch=# SELECT version();
>                                version
> ---------------------------------------------------------------------
>  PostgreSQL 7.3.4 on i386-portbld-freebsd4.8, compiled by GCC 2.95.4
> 
> 
> -- 
> Fduch M. Pravking
> 
As far as I know these results are correct in terms of the underlying 
C-library function mktime(). This function is intended to be used when 
adding/subtracting intervals from a given timestamp. 
I don't know of any postgres function doing the check you're looking for. 
But I can't believe this is the first time this topic is brought up. 
You may search the archives on "date plausibility" are related terms. 

HTH
Regards, Christoph 



pgsql-sql by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Problem with intervals
Next
From: Karel Zak
Date:
Subject: Re: Validity check in to_date?