まず、日付はtimestampの値である必要があります タイプ(したがって、::timestampを追加します 文字列リテラルとして指定しているだけの場合)。
2つのタイムスタンプを引くと、結果はintervalになります。 タイプ。期間(時間、分、秒など)を記述します。extract(epoch from interval_value)を使用できます。 間隔を絶対秒数に変換します。
だから、それをすべてまとめる:
select extract(epoch from ('2011-12-30 09:55:56'::timestamp - '2011-12-30 08:54:55'::timestamp));
::timestampであることを忘れないでください 文字列リテラルをタイムスタンプに変換するためにのみ必要です。たとえば、タイムスタンプ列の値を使用している場合は必要ありません。