Cómo convertir "epoch" en "timestamp" en PostgreSQL

28/11/2005

Cómo convertir epoch en timestamp en Postgresql.

Después de unas cuantas pruebas hemos conseguido convertir en PostgreSQL 7.4 un valor del tipo época (el nombre de segundos transcurridos des de la media noche del 1 de enero de 1970) en un valor del tipo timestamp. Ahí va nuestra modesta aportación, en forma de ejemplo, por si os puede interesar.

Asumiendo que en la tabla zentrack_tickets está la columna otime del tipo bigint.

select otime from zentrack_tickets;

otime

------------

1019621097

1019621197

1124710904

1112892339

1112895801

Para obtener el timestamp tenemos que hacer:

select date '1970/01/01'+cast(to_char(otime, '9999999999 “seconds”') as interval) from zentrack_tickets;

?column?

---------------------

24/04/2002 04:04:57

24/04/2002 04:06:37

22/08/2005 11:41:44

07/04/2005 16:45:39

07/04/2005 17:43:21