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'. ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster