converting time_t to timestamp?

From: patrick <patrick+pgsql(at)boxsoft(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: converting time_t to timestamp?
Date: 2003-03-12 02:57:04
Message-ID: 20030311185704.D24959@3eye.boxsoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


Greetings,

I'm reposting this question since I received zero replies from my
original post (maybe the original subject line was misleading).

I've just^W upgraded from PostgreSQL 7.1.2 to 7.3.2.

In 7.1.2 I was able to use the output of time(2) (and the like) to
insert into a field of timestamp type.

First thing i noticed with the upgrade was that the following broke:

in 7.1.2
=> select timestamp ( 1046923200 );
timestamp
------------------------
2003-03-05 20:00:00-08
(1 row)

in 7.3.2
=> select timestamp ( 1046923200 );
ERROR: TIMESTAMP(1046923200) precision must be between 0 and 6

Can anyone point me to a work-around?

I notice that I can use abstime( 1046923200 ) to get the desired
result. But is this the optimal way to do this?

My client application uses mktime(3) and then forms the SQL
statement to insert into a table of the form:

sprintf( sql_stmt,
"insert into tab1 "
" ( ... , target_timestamp, ... ) "
"values ( ... , timestamp( %lu ), ... ) ",
...,
mktime( &tm ) );
/*
* You get the idea.
*/

Thanks in advance,

sidster
--
They who would sacrifice freedom for security will have neither.
-Ben Franklin

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Vernon Wu 2003-03-12 03:28:53 Re: Special characters in SQL queries
Previous Message Chad Thompson 2003-03-11 21:24:32 Re: Novice needs help