SELECT Table.date FROM Table WHERE date > current_date - 10;
Apakah ini berfungsi di PostgreSQL?
sql
postgresql
biarawati
sumber
sumber
interval '10 day'
adalah sintaks Postgres.interval '10' day
adalah sintaks berdasarkan standar SQL dan juga didukung oleh Postgres10
, bukan9
http://www.postgresql.org/docs/current/static/functions-datetime.html menunjukkan operator yang dapat Anda gunakan untuk bekerja dengan tanggal dan waktu (dan interval).
Jadi kamu mau
Operator / fungsi di atas didokumentasikan secara rinci:
sumber
Pemahaman saya dari pengujian saya (dan dox PostgreSQL ) adalah bahwa tanda kutip perlu dilakukan secara berbeda dari jawaban lain, dan juga harus menyertakan "hari" seperti ini:
Didemonstrasikan di sini (Anda seharusnya dapat menjalankan ini di Postgres db mana pun):
Hasil:
sumber
Saya akan memeriksa tipe data.
current_date memiliki tipe data "date", 10 adalah angka, dan Table.date - Anda perlu melihat tabel Anda.
sumber
Anda juga dapat menggunakan antara:
sumber
between
harus dengan nilai terendah pertama, jadi ini akan dilakukan dengan benar sebagaiSELECT Table.date FROM Table WHERE date between current_date - interval '10 day' and current_date;
Cukup menggeneralisasi kueri jika Anda ingin bekerja dengan tanggal tertentu, bukan tanggal sekarang:
sumber