Received: from linda.pathlink.com (linda.pathlink.com [205.185.79.6]) by hub.org (8.8.8/8.7.5) with ESMTP id SAA06552 for ; Fri, 26 Jun 1998 18:05:49 -0400 (EDT) Received: from dvl-1 (dvl-1.pathlink.com [204.30.237.241]) by linda.pathlink.com (8.8.7/8.8.5) with SMTP id PAA02037; Fri, 26 Jun 1998 15:05:45 -0700 (PDT) Message-Id: <3.0.1.32.19980626150540.006ab3dc@rr.pathlink.com> X-Mailer: Windows Eudora Pro Version 3.0.1 (32) Date: Fri, 26 Jun 1998 15:05:40 -0700 To: Colin Dick From: Kachun Lee Subject: Re: [SQL] Date fields and libpq.... Cc: pgsql-sql@postgreSQL.org In-Reply-To: References: <3.0.1.32.19980626134257.006b5b70@rr.pathlink.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" At 02:17 PM 6/26/98 -0700, you wrote: >> I think you may want to change your query to: >> >> select date_part(datetime(abst_att), 'epoch') .... >> >> In addition, unless you were using BINARY cursor, you will need to do >> something like: >> >> time_t t = atol(PQgetvalue(res, i, 0)); > >I have tried this but don't think I understand the internal datetime >function correctly. Should my query be(start is defined as abstime): > >select start(datetime(abst_att),'epoch') from timebase; It should be: select date_part(datetime(start),'epoch') from timebase; This means: datetime(start) - change start to datetime. actually, date_part may be able to take abstime... I am just not sure. date_part(datetime(start), 'epoch') - change datetime(start) as epoch, i.e. number of sec since 1970/1/1 >And then should this work: > >printf("%lu\n",(unsigned long)PGgetvalue(res,0,0)); You would do: printf("%s\n", PGgetvalue(res,0,0)); PGgetvalue will return the number of seconds in *string* form. If your start is around now, the printf should print something like "898898516". That is why you need to convert it to time_t by something like atol. >Thanks for your help. > >-- >Colin Dick >On Call Internet Services >cdick@mail.ocis.net > >