sql >> Base de Datos >  >> RDS >> PostgreSQL

Diferencia de fecha Postregsql en base a segundos

Primero, las fechas deben ser valores de timestamp escriba (así que agregue ::timestamp si solo los está especificando como cadenas literales).

Si resta dos marcas de tiempo, el resultado es de interval type, que describe una duración de tiempo (en horas, minutos, segundos, etc.) Puede usar extract(epoch from interval_value) para convertir el intervalo en un número absoluto de segundos.

Entonces, juntando todo eso:

select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));

Recuerda que el ::timestamp solo se necesita para convertir el literal de cadena en una marca de tiempo:no lo necesita si está utilizando el valor de una columna de marca de tiempo, por ejemplo.