Temukan perbedaan antara cap waktu dalam hitungan detik di PostgreSQL

127

Saya memiliki tabel PostgreSQL 8.3dengan 2 timestampkolom. Saya ingin mengetahui perbedaannya timestampsdalam hitungan detik. Bisakah Anda membantu saya menyelesaikannya?

TableA
(
  timestamp_A timestamp,
  timestamp_B timestamp
)

Saya perlu mendapatkan sesuatu seperti (timestamo_B - timestamp_A)dalam hitungan detik (bukan hanya perbedaan antara detik, itu harus mencakup jam, menit, dll) .

Arun
sumber

Jawaban:

239

Mencoba: 

SELECT EXTRACT(EPOCH FROM (timestamp_B - timestamp_A))
FROM TableA

Detailnya di sini: EKSTRAK .

Igor Romanchenko
sumber
3
Terima kasih banyak atas jawabannya. Berhasil !!! Dalam kueri di atas, kami kehilangan tanda kurung tutup. Tapi saya sudah menemukan jawabannya. Terima kasih banyak atas balasan cepat Anda.
Arun
30
select age(timestamp_A, timestamp_B)

Menjawab komentar Igor:

select age('2013-02-28 11:01:28'::timestamp, '2011-12-31 11:00'::timestamp);
              age              
-------------------------------
 1 year 1 mon 28 days 00:01:28
Clodoaldo Neto
sumber
Itu tidak akan melakukan pekerjaan itu. Itu akan Subtract arguments, producing a "symbolic" result that uses years and months. Itu tidak akan memberikan perbedaan dalam hitungan detik.
Igor Romanchenko
@Igor Diperbarui dengan hasil termasuk detik. OP menginginkan tidak hanya detik tetapi juga menit, jam, dll
Clodoaldo Neto
5
Jika saya memahaminya dengan benar, dia mau to get the difference between these timestamps in seconds. Dan it should include hours, minutes etcartinya harus full perbedaan like 10:25:30 - 10:15:25 = 605 seconds. Dugaan saya - dia menggunakan EXTRACT(SECONDS FROM ...)dan mendapatkan10:25:30 - 10:15:25 = 5 seconds
Igor Romanchenko
1
@Igor Tidak terlalu jelas tetapi sekarang Anda mengatakannya, saya pikir Anda mungkin benar.
Clodoaldo Neto
@ Clodoaldo: Saya membutuhkan keluaran seperti yang disebutkan oleh Igor. Saya membutuhkan perbedaan penuh dalam hitungan detik.
Arun
0
SELECT (cast(timestamp_1 as bigint) - cast(timestamp_2 as bigint)) FROM table;

Jika seseorang mengalami masalah saat menggunakan ekstrak .

tausif
sumber
Ini juga tidak berfungsi dengan stempel waktu dengan zona waktu.
Rodolfo