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 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match