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

Dapatkan Hari dari Tanggal di PostgreSQL

Di PostgreSQL Anda dapat menggunakan extract() berfungsi untuk mendapatkan hari dari tanggal.

Anda juga dapat menggunakan date_part() untuk melakukan hal yang sama.

Saat mengekstrak hari dari tanggal, Anda perlu menentukan arti kata "hari" yang Anda maksud. Misalnya, “hari dalam seminggu”, “hari dalam sebulan”, “hari dalam setahun”, dll.

Contoh 1:Hari dalam Seminggu

Berikut ini contoh penggunaan extract() berfungsi untuk mengekstrak hari dalam seminggu dari tanggal.

Menggunakan dow mengembalikan hari dalam seminggu sebagai Minggu (0) hingga Sabtu (6).

SELECT 
  extract(dow from date '2020-12-27') AS "Day of week",
  to_char(date '2020-12-27', 'Day') AS "Day Name";

Hasil:

 Day of week | Day Name  
-------------+-----------
           0 | Sunday   

Dalam contoh ini saya juga mengembalikan nama hari, sehingga tidak ada kebingungan hari apa yang sebenarnya dikembalikan.

Saya akan menggunakan tanggal yang sama untuk contoh lainnya, jadi saya tidak perlu mencetak nama hari dalam contoh tersebut.

Contoh 2:ISO Day of Week

Menggunakan isodow mengembalikan hari dalam seminggu seperti Senin (1) hingga Minggu (7).

SELECT extract(
    isodow from date '2020-12-27'
    ) AS "ISO Day of week";

Hasil:

 ISO Day of week 
-----------------
               7

Alasan saya menggunakan Sunday dalam contoh ini adalah karena ini menyoroti perbedaan antara isodow dan dow .

Contoh 3:Hari dalam Bulan

Saat menggunakan stempel waktu atau tanggal nilai, day mengembalikan hari dalam sebulan (1 – 31).

SELECT extract(
    day from date '2020-12-27'
    ) AS "Day of month";

Hasil:

 Day of month 
--------------
           27

Saat menggunakan interval nilai, day hasil bidang dalam jumlah hari yang dikembalikan.

SELECT extract(
    day from interval '32 weeks'
    ) AS "Number of days";

Hasil:

 Number of days 
----------------
            224

Contoh 4:Hari dalam setahun

Menggunakan doy mengembalikan hari dalam setahun (1 – 365/366).

SELECT extract(
    doy from date '2020-12-27'
    ) AS "Day of year";

Hasil:

 Day of year 
-------------
         362

Contoh 5:Fungsi date_part()

date_part() fungsi dapat digunakan sebagai pengganti extract() fungsi. Ini contohnya.

SELECT date_part(
    'doy', timestamp '2020-12-27'
    ) AS "Day of year";

Hasil:

 Day of year 
-------------
         362

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT a SELECT GROUP BY :lebih banyak kolom target daripada kesalahan ekspresi

  2. Opsi Pemulihan Bencana untuk PostgreSQL yang Di-deploy ke Hybrid Cloud

  3. Pemicu vs. batasan pemeriksaan

  4. Bagaimana cara mengatur ulang SUM yang berjalan setelah mencapai ambang batas?

  5. Tambahkan kolom stempel waktu dengan default SEKARANG () hanya untuk baris baru