PostgreSQLで秒単位で2つの日付の日付差を見つけるにはどうすればよいですか?
SQL-Server のように秒単位で日付の差を与える関数はありません。
DATE_DIFF(second, '2011-12-30 09:55:56', '2011-12-30 08:54:55')
PostgreSQLにもこれを入れるのを手伝ってください
PostgreSQLで秒単位で2つの日付の日付差を見つけるにはどうすればよいですか?
SQL-Server のように秒単位で日付の差を与える関数はありません。
DATE_DIFF(second, '2011-12-30 09:55:56', '2011-12-30 08:54:55')
PostgreSQLにもこれを入れるのを手伝ってください
まず、日付はタイプの値である必要があります(したがって、文字列リテラルとして指定するだけの場合は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
をタイムスタンプに変換するためにのみ必要であることに注意してください。たとえば、タイムスタンプ列の値を使用している場合は必要ありません。