Thread: 7.2 time format funtion issue

7.2 time format funtion issue

From
Nicholas Barthelemy
Date:
I have just installed redhat 8.0. It comes with postgresql rpms for 
7.2.2. I have been trying to get an
application I have written to work, but my queries fail whenever I have 
queries that use internal
date/time formatting functions.
example:

SELECT a.assignmentid AS "id",
u.lastname || ', ' || u.firstname || ' ' || u.middleint AS "assigned",
j.name AS "job_name",
extract(DOW FROM TIMESTAMP TIMESTAMP(a.startdate)) AS "dow",
TO_CHAR(TO_TIMESTAMP(a.starttime, 'HH:MI:SS'), 'HH12:MI am') AS "starttime",
TO_CHAR(TO_TIMESTAMP(a.stoptime, 'HH:MI:SS'), 'HH12:MI am') AS "stoptime",
((extract(HOUR FROM TIME (a.stoptime - a.starttime)) +  (extract(MINUTE FROM TIME (a.stoptime - a.starttime))/60)) -
a.break)
 
AS "hrs",
a.break AS "break"
FROM assignment a LEFT JOIN users u USING(userid),
schedule s, job j, account ac, location l, groups g
WHERE s.scheduleid = 1 AND
s.scheduleid = a.scheduleid AND
s.accountid = 3 AND
s.accountid = ac.accountid AND
s.locationid = 1 AND
s.locationid = l.locationid AND
s.groupid = g.groupid AND
s.scheduleid = s.scheduleid AND
a.jobid = j.jobid
ORDER BY j.name ASC, a.starttime ASC, u.lastname ASC;

ERROR:  parser: parse error at or near "TIMESTAMP"

The problem areas are the timestamp() and extract(hour from time) 
functions. If anyone would
be so kind as to help me with this issue, it would be greatly 
appreciated. I don't know if I have to
enable something for these functions to work or if the format changed 
for 7.2.2. I checked the
documentation and it was exactly like 7.1.

Thanks for your help,
Nicholas



Re: 7.2 time format funtion issue

From
Tomasz Myrta
Date:
> extract(DOW FROM TIMESTAMP TIMESTAMP(a.startdate)) AS "dow",
> ERROR:  parser: parse error at or near "TIMESTAMP"
Try one of these:
extract(dow from cast(a.startdate as timestamp)) as "dow"
extract(dow from a.startdate) as "dow"
extract(dow from a.startdate::timestamp) as "dow"

I remember I had problems when migrating to Postgres 7.2. I don't 
remember why, but I had to convert all "timestamp" to "timestamp without 
time zone". Probably this was because of ZEOS-direct-access components 
for C++ Builder.

Regards,
Tomasz Myrta