Subject: type casting reference?

From: stig erikson <[email-masked]>
Date: Sun, 12 Jun 2005 21:39:28 +0200

hi.
i need to cast from timestamp to seconds (in the form of integer).

i have a table with a column:
expiretime timestamp

i have tried the following, it gives errors as below:
SELECT expiretime::float4 AS timeleft FROM table WHERE something='1234';
ERROR:  cannot cast type timestamp without time zone to real

SELECT expiretime::text::float4 AS timeleft FROM table WHERE something='1234';
ERROR:  invalid input syntax for type real: "2005-06-12 21:21:24.368082"

postgresql 7.4.1 (i know, old)

so, my question is simply, where in the docs can i find how i should perform the 
cast?
it would help a lot if there was a table showing which types can be cased into 
which, and possibly an example or two for situations like this, casting from 
timestamp (to timestamp worked right away).

/stig

---

From: stig erikson <[email-masked]>
Date: Wed, 15 Jun 2005 21:03:18 +0200

stig erikson wrote:
> so, my question is simply, where in the docs can i find how i should 
> perform the cast?
> it would help a lot if there was a table showing which types can be 
> cased into which, and possibly an example or two for situations like 
> this, casting from timestamp (to timestamp worked right away).
> 
> /stig

solved my problem this way:

UPDATE table
SET expiretime= cast( ('now'::text)::timestamp+'30 minutes'::interval AS timestamp)
WHERE sessionID='0';

---

From: Michael Glaesemann <[email-masked]>
Date: Sat, 18 Jun 2005 13:55:07 +0900

> ERROR:  invalid input syntax for type real: "2005-06-12  

Are you looking for the timestamp expressed as seconds from the Unix  
epoch? If so, look at extract(epoch from expiretime).

http://www.postgresql.org/docs/7.4/interactive/functions- 
datetime.html#FUNCTIONS-DATETIME-EXTRACT

Michael Glaesemann
grzm myrealbox com