PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Différence de date Postregsql sur la base des secondes

Tout d'abord, les dates doivent être des valeurs de timestamp type (ajoutez donc ::timestamp si vous les spécifiez simplement en tant que littéraux de chaîne).

Si vous soustrayez deux horodatages, le résultat est de interval type, qui décrit une durée (en heures, minutes, secondes, etc.) Vous pouvez utiliser extract(epoch from interval_value) pour convertir l'intervalle en un nombre absolu de secondes.

Donc, en mettant tout cela ensemble :

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

Rappelez-vous que le ::timestamp n'est nécessaire que pour convertir la chaîne littérale en horodatage :vous n'en avez pas besoin si vous utilisez la valeur d'une colonne d'horodatage, par exemple.