Timestamp with libpq
От | Jakob Lechner |
---|---|
Тема | Timestamp with libpq |
Дата | |
Msg-id | 1223884381.3502.10.camel@vie063.fabagl.fabasoft.com обсуждение исходный текст |
Ответы |
Re: Timestamp with libpq
|
Список | pgsql-interfaces |
Hello everybody, I'm trying to convert timestamp values returned by an SQL query into an unix time_t. I'm using the libpq library. For executing the query I use "PQexecParams" with the parameter "resultFormat" set to 1 in order to obtain results in binary format. The table I'm fetching data from was created with the following statement: create table testtable (c timestamp); The statement executed by "PQexecParams" is a simple "select"-statement: select * from testtable; I've read that postgres internally handles timestamps as double numbers, where the timestamp is represented in seconds since 2000-01-01. Thus, I assumed the data returned by "PQgetvalue" for the timestamp field is encoded in this format. Then I wrote a little routine, which takes the double number obtained from "PQgetvalue" and converts it into an unix time_t. This works perfectly if the postgres server (version 8.1.4-1.1) runs on RHEL but if I query the data from a postgres server (version 8.1.4-1.3) runnning on SLES the result totally wrong. Any ideas? Best regards Jakob Lechner -- Jakob Lechner Research & Development appl.strudl Software GmbH Honauerstraße 4 A-4020 Linz Tel.: [+43] (70) 60 61 62 Fax: [+43] (70) 60 61 62-609 E-Mail: jakob.lechner@applstrudl.com Web: http://www.applstrudl.com Handelsgericht Linz, FN 303988 t
В списке pgsql-interfaces по дате отправления: