PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में महीने का पहला दिन प्राप्त करें

हम किसी दिए गए महीने के पहले दिन को वापस करने के लिए PostgreSQL में निम्न विधि का उपयोग कर सकते हैं।

यह चालू माह का पहला दिन हो सकता है, या हमारे द्वारा निर्दिष्ट तिथि के आधार पर महीने का पहला दिन हो सकता है।

महीने का पहला दिन प्राप्त करने से हम परिणामी तारीख पर आगे की गणना कर सकते हैं, जैसे महीने की शुरुआत में कुछ निश्चित दिन जोड़ना, आदि।

चालू माह की शुरुआत

यहां एक उदाहरण दिया गया है जो चालू माह का पहला दिन लौटाता है:

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

परिणाम:

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

यह PostgreSQL के date_trunc() . का उपयोग करता है हम जो परिणाम चाहते हैं उसे वापस करने के लिए कार्य करते हैं। यह फ़ंक्शन दिनांक/समय मान को एक निर्दिष्ट परिशुद्धता के लिए छोटा करता है।

इस मामले में मैं now() . का उपयोग करता हूं वर्तमान तिथि, और 'month' . को वापस करने के लिए कार्य करता है तर्क उस तारीख को महीने की शुरुआत में बदल देता है।

यदि आवश्यक हो तो हम इसे दिनांक मान में डाल सकते हैं:

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

परिणाम:

2022-04-01

यहाँ यह फिर से है, वास्तविक तिथि के साथ कि मैंने उदाहरण चलाया:

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

परिणाम:

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

एक निर्दिष्ट महीने की शुरुआत

यह चालू माह की शुरुआत नहीं होनी चाहिए। हम किसी भी तारीख को निर्दिष्ट कर सकते हैं, और यह उस तारीख के आधार पर महीने की शुरुआत लौटाएगा।

उदाहरण:

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

परिणाम:

2030-07-01

फिर हम परिणाम का उपयोग उस पर अन्य क्रियाएं करने के लिए कर सकते हैं। उदाहरण के लिए, हम दिए गए दिनों को इस तरह परिणाम में जोड़ सकते हैं:

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

परिणाम:

2030-07-21

डेटाबेस उदाहरण

यहां एक उदाहरण दिया गया है जो डेटाबेस से तिथियों का उपयोग करता है:

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;

परिणाम:

+---------------------+----------------------+-----------------------+
|     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. आप एक यादृच्छिक स्ट्रिंग कैसे बनाते हैं जो PostgreSQL में सत्र आईडी के लिए उपयुक्त है?

  2. PostgreSQL के लिए जेनरेट किए गए कॉलम का अवलोकन

  3. पोस्टग्रेस्क्ल ड्रॉप व्यू

  4. ऑफ़सेट बनाम ROW_NUMBER()

  5. कैसे Acosh () PostgreSQL में काम करता है