PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana cara mendapatkan string tanggal mulai dan akhir minggu di PostgreSQL?

Anda dapat menggunakan date_trunc('week', ...) .

Misalnya:

SELECT date_trunc('week', '2012-07-25 22:24:22'::timestamp);
-> 2012-07-23 00:00:00

Kemudian, Anda dapat mengubahnya menjadi tanggal, jika Anda tidak tertarik dengan waktu mulainya.

Untuk mendapatkan tanggal akhir juga:

SELECT    date_trunc('week', '2012-07-25 22:24:22'::timestamp)::date
   || ' '
   || (date_trunc('week', '2012-07-25 22:24:22'::timestamp)+ '6 days'::interval)::date;

-> 2012-07-23 2012-07-29

(Saya telah menggunakan pemformatan default di sini, Anda tentu saja dapat menyesuaikan ini untuk menggunakan MM/DD/YYYY.)

Perhatikan bahwa, jika Anda ingin membuat perbandingan pada stempel waktu, daripada menggunakan (date_trunc('week', ...) + '6 days'::interval , Anda mungkin ingin menambahkan satu minggu penuh dan menggunakan perbandingan ketat untuk akhir minggu.

Ini akan mengecualikan y stempel waktu pada hari terakhir dalam seminggu (karena batas waktu adalah tengah malam pada hari itu).

    date_trunc('week', x)::date <= y::timestamp
AND y::timestamp <= (date_trunc('week', x) + '6 days'::interval)::date

Ini akan mencakup mereka:

    date_trunc('week', x)::date <= y::timestamp
AND y::timestamp < (date_trunc('week', x) + '1 week'::interval)

(Itu dalam kasus yang jarang terjadi ketika Anda tidak dapat menggunakan date_trunc pada y langsung.)

Jika minggu Anda dimulai pada hari Minggu, ganti date_trunc('week', x)::date dengan date_trunc('week', x + '1 day'::interval)::date - '1 day'::interval harus bekerja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi Puma Cluster di Heroku

  2. Bagaimana cara memperbaiki, pembuatan 'PHP', di Mac OS X (10.9.4)?

  3. Bagaimana cara memfilter baris pada nilai bersarang di kolom json?

  4. psql:FATAL:basis data <pengguna> tidak ada

  5. Menganalisis Statistik Tabel PostgreSQL