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

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

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

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

चालू माह की समाप्ति

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

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

परिणाम:

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

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

इस मामले में मैं now() . का उपयोग करता हूं वर्तमान तिथि, और 'month' . को वापस करने के लिए कार्य करता है तर्क उस तारीख को महीने की शुरुआत में संशोधित करता है। फिर मैंने उसमें एक महीना जोड़ा (जो इसे अगले महीने की शुरुआत में लाता है), फिर उस तारीख से एक दिन घटाकर हमें पिछले महीने का अंत देने के लिए (जो कि चालू महीने का अंत है)।

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

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

परिणाम:

2022-04-30

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

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

परिणाम:

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

एक निर्दिष्ट महीने की समाप्ति

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

उदाहरण:

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

परिणाम:

2030-07-31

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

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

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;

परिणाम:

+---------------------+--------------+
|     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. सुपरयूजर भूमिका के बिना एक्सटेंशन नहीं बना सकते

  2. दिए गए स्ट्रिंग को विभाजित करें और केस स्टेटमेंट तैयार करें

  3. पोस्टग्रेएसक्यूएल:नॉट इन बनाम एक्सेप्ट परफॉर्मेंस अंतर (संपादित # 2)

  4. PostgreSQL में अल्पविराम के साथ प्रारूप संख्या

  5. PostgreSQL ORDER BY क्लॉज में ALIAS का उपयोग कैसे करें?