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

Dapatkan Hari Pertama Bulan Ini di PostgreSQL

Kita dapat menggunakan metode berikut di PostgreSQL untuk mengembalikan hari pertama bulan tertentu.

Ini bisa menjadi hari pertama bulan berjalan, atau hari pertama bulan itu berdasarkan tanggal yang kami tentukan.

Mendapatkan hari pertama setiap bulan memungkinkan kami melakukan perhitungan lebih lanjut pada tanggal yang dihasilkan, seperti menambahkan jumlah hari tertentu ke awal bulan, dll.

Awal Bulan Ini

Berikut adalah contoh yang menampilkan hari pertama bulan berjalan:

SELECT date_trunc('month', now());

Hasil:

2022-04-01 00:00:00+10

Ini menggunakan date_trunc() PostgreSQL berfungsi 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 tersebut menjadi awal bulan.

Kami dapat mentransmisikannya ke nilai tanggal jika diperlukan:

SELECT date_trunc('month', now())::date;

Hasil:

2022-04-01

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

SELECT 
    now()::date AS "Current Date",
    date_trunc('month', now())::date AS "Start of Month";

Hasil:

+--------------+----------------+
| Current Date | Start of Month |
+--------------+----------------+
| 2022-04-09   | 2022-04-01     |
+--------------+----------------+

Awal Bulan Tertentu

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

Contoh:

SELECT date_trunc('month', date '2030-07-14')::date;

Hasil:

2030-07-01

Kami kemudian dapat menggunakan hasilnya untuk melakukan tindakan lain di atasnya. Misalnya, kita dapat menambahkan jumlah hari tertentu ke hasil seperti ini:

SELECT date_trunc('month', date '2030-07-14')::date + 20;

Hasil:

2030-07-21

Contoh Basis Data

Berikut adalah contoh yang menggunakan tanggal dari database:

SELECT
    rental_date,
    date_trunc('month', rental_date)::date AS "The 1st of the Month",
    date_trunc('month', rental_date)::date + 19 AS "The 20th of the Month"
FROM rental WHERE customer_id = 459 LIMIT 10;

Hasil:

+---------------------+----------------------+-----------------------+
|     rental_date     | The 1st of the Month | The 20th of the Month |
+---------------------+----------------------+-----------------------+
| 2005-05-24 22:54:33 | 2005-05-01           | 2005-05-20            |
| 2005-06-17 02:50:51 | 2005-06-01           | 2005-06-20            |
| 2005-06-17 09:38:22 | 2005-06-01           | 2005-06-20            |
| 2005-06-17 16:40:33 | 2005-06-01           | 2005-06-20            |
| 2005-06-20 02:39:21 | 2005-06-01           | 2005-06-20            |
| 2005-06-20 12:35:44 | 2005-06-01           | 2005-06-20            |
| 2005-06-20 12:42:00 | 2005-06-01           | 2005-06-20            |
| 2005-06-21 02:39:44 | 2005-06-01           | 2005-06-20            |
| 2005-07-06 00:22:29 | 2005-07-01           | 2005-07-20            |
| 2005-07-08 02:51:23 | 2005-07-01           | 2005-07-20            |
+---------------------+----------------------+-----------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ActiveRecord::StatementInvalid:PG InFailedSqlTransaction

  2. Cara Mendapatkan Tanggal Kemarin di PostgreSQL

  3. Dapatkan Hari Terakhir Bulan Ini di PostgreSQL

  4. Postgresql - tidak dapat menjatuhkan basis data karena beberapa koneksi otomatis ke DB

  5. Tidak dapat terhubung ke postgres menggunakan jdbc di pyspark Shell