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

Dapatkan Hari Terakhir Bulan Ini di PostgreSQL

Kita dapat menggunakan teknik berikut di PostgreSQL untuk mengembalikan hari terakhir bulan tertentu.

Ini bisa menjadi hari terakhir bulan ini, atau hari terakhir bulan itu berdasarkan tanggal yang kami tentukan.

Akhir Bulan Ini

Berikut ini contoh yang menampilkan hari terakhir bulan ini:

SELECT (date_trunc('month', now()) + interval '1 month - 1 day');

Hasil:

2022-04-30 00:00:00+10

Ini menggunakan date_trunc() PostgreSQL fungsi, bersama dengan beberapa aritmatika tanggal untuk mengembalikan hasil yang kita inginkan. Fungsi ini memotong nilai tanggal/waktu ke presisi yang ditentukan.

Dalam hal ini saya menggunakan now() berfungsi untuk mengembalikan tanggal saat ini, dan 'month' argumen mengubah tanggal itu menjadi awal bulan. Saya kemudian menambahkan satu bulan untuk itu (yang membawanya ke awal bulan berikutnya), kemudian dikurangi satu hari dari tanggal itu untuk memberi kita akhir bulan sebelumnya (yang merupakan akhir dari bulan ini).

Kami dapat mentransmisikannya ke nilai tanggal jika diperlukan:

SELECT (date_trunc('month', now()) + interval '1 month - 1 day')::date;

Hasil:

2022-04-30

Ini dia lagi, bersama dengan tanggal sebenarnya saya menjalankan contoh:

SELECT 
    now()::date AS "Current Date",
    (date_trunc('month', now()) + interval '1 month - 1 day')::date AS "End of Month";

Hasil:

+--------------+--------------+
| Current Date | End of Month |
+--------------+--------------+
| 2022-04-09   | 2022-04-30   |
+--------------+--------------+

Akhir Bulan Tertentu

Tidak harus akhir bulan berjalan. Kami dapat menentukan tanggal apa pun, dan itu akan mengembalikan akhir bulan, berdasarkan tanggal tersebut.

Contoh:

SELECT (date_trunc('month', date '2030-07-14') + interval '1 month - 1 day')::date;

Hasil:

2030-07-31

Contoh Basis Data

Berikut adalah contoh yang menggunakan tanggal dari database:

SELECT
    rental_date,
    (date_trunc('month', rental_date) + interval '1 month - 1 day')::date AS "End of Month"
FROM rental WHERE customer_id = 459 LIMIT 10;

Hasil:

+---------------------+--------------+
|     rental_date     | End of Month |
+---------------------+--------------+
| 2005-05-24 22:54:33 | 2005-05-31   |
| 2005-06-17 02:50:51 | 2005-06-30   |
| 2005-06-17 09:38:22 | 2005-06-30   |
| 2005-06-17 16:40:33 | 2005-06-30   |
| 2005-06-20 02:39:21 | 2005-06-30   |
| 2005-06-20 12:35:44 | 2005-06-30   |
| 2005-06-20 12:42:00 | 2005-06-30   |
| 2005-06-21 02:39:44 | 2005-06-30   |
| 2005-07-06 00:22:29 | 2005-07-31   |
| 2005-07-08 02:51:23 | 2005-07-31   |
+---------------------+--------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql enum apa kelebihan dan kekurangannya?

  2. Cara Mengatur Kata Sandi Pengguna Default di PostgreSQL

  3. Cara Menguji Tanggal yang Tumpang Tindih di PostgreSQL

  4. Perpustakaan Aritmatika Terenkripsi Sederhana (SEAL) dan segel::variabel ciphertext

  5. Bagaimana cara membuat profil Database PostgreSQL?