Architecture: Intel Pentium
Operating System: Redhat 7.2 (Linux 2.4.17)
PostgreSQL version: PostgreSQL-7.3.4
Compiler used: gcc 3.01
to_timestamp appears to pick up the time-of-day from the previous call's
return value if a date string has no time component. For example:
# select to_timestamp('2003-06-01', 'YYYY-MM-DD HH24:MI:SS') ;
to_timestamp
------------------------
2003-06-01 00:00:00-07
(1 row)
# select to_timestamp('2003-06-02 12:13:14', 'YYYY-MM-DD HH24:MI:SS') ;
to_timestamp
------------------------
2003-06-02 12:13:14-07
(1 row)
# select to_timestamp('2003-06-01', 'YYYY-MM-DD HH24:MI:SS') ;
to_timestamp
------------------------
2003-06-01 12:13:14-07
(1 row)
I suppose the proper behavior in this situation is debatable, but it seems
that the function should be stable.
FWIW, Oracle's behavior in this case (with 'to_date') is to return
'2003-06-01 00:00:00'.