Po pierwsze, daty muszą być wartościami timestamp
wpisz (więc dołącz ::timestamp
jeśli po prostu określasz je jako literały ciągu).
Jeśli odejmiesz dwa znaczniki czasu, wynikiem będzie interval
typ, który opisuje czas trwania (w godzinach, minutach, sekundach itp.) Możesz użyć extract(epoch from interval_value)
aby przekonwertować interwał na bezwzględną liczbę sekund.
Tak więc, łącząc to wszystko razem:
select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));
Pamiętaj, że ::timestamp
jest potrzebny tylko do konwersji literału ciągu na znacznik czasu:nie jest potrzebny, jeśli na przykład używasz wartości kolumny znacznika czasu.