Ada apa dengan:
SELECT a,b,c
FROM table
WHERE xtime BETWEEN '2012-04-01 23:55:00'::timestamp
AND now()::timestamp;
Jika Anda ingin beroperasi dengan hitungan detik sebagai interval
:
...
WHERE xtime BETWEEN now()::timestamp - (interval '1s') * $selectedtimeParm
AND now()::timestamp;
Perhatikan, bagaimana saya menggunakan format tanggal standar ISO 8601 YYYY-MM-DD h24:mi:ss
yang tidak ambigu dengan lokal apa pun atau DateStyle
pengaturan.
Perhatikan juga, bahwa nilai pertama untuk BETWEEN
konstruksi harus yang lebih kecil. Jika Anda tidak tahu nilai mana yang lebih kecil, gunakan BETWEEN SYMMETRIC
sebagai gantinya.
Dalam pertanyaan Anda, Anda merujuk ke jenis tanggal timestamp
sebagai "tanggal", "waktu" dan "titik". Dalam judul Anda menggunakan istilah "kerangka waktu", yang saya ubah menjadi "cap waktu". Semua istilah ini salah. Pertukaran mereka secara bebas membuat pertanyaan semakin sulit untuk dipahami.
Itu, dan fakta bahwa Anda hanya menandai pertanyaan psql
(masalahnya hampir tidak menyangkut terminal baris perintah) mungkin membantu menjelaskan mengapa tidak ada yang menjawab selama berhari-hari. Biasanya, hanya beberapa menit di sekitar sini. Saya kesulitan memahami pertanyaan Anda, harus membacanya beberapa kali.
Anda perlu memahami tipe data date
, interval
, time
dan timestamp
- dengan atau tanpa zona waktu. Mulailah dengan membaca bab "Jenis Tanggal/Waktu" di manual .
Pesan kesalahan juga akan menyebar jauh.