Saltar al contenido principal

¿Cómo saber el tiempo transcurrido entre 2 campos Timestamp en PostgreSQL?

· Lectura de un minuto
Héctor Mansilla Arias

Afortunadamente PostgreSQL tiene la forma de calcular el tiempo transcurrido entre dos campos, uno correspondiente al inicio y el otro al termino del intervalo a consultar. ¿Cómo se hace?

SELECT age('12-03-2020 07:00:38'::timestamp, '11-03-2020 11:59:38'::timestamp);

Para consultar la edad de un campo respecto a la fecha y hora actual podemos usar la siguiente consulta:

SELECT age(now(), inicio) from exec_temp;

En el caso de querer comparar la hora actual con el valor de un campo timestamp, podemos usar la siguiente consulta

SELECT * from exec_temp_table WHERE  age(now(), inicio) > exec_temp.MaxTime;

Ahora bien, la consulta del millón es… si la diferencia de la hora de inicio con la hora actual es mayor a cero…

SELECT nombre, inicio from exec_temp where age(now(), inicio) > '00:00:00';