समस्या:
आप PostgreSQL डेटाबेस में कल की तारीख (बिना समय के) प्रदर्शित करना चाहेंगे।
समाधान 1:
SELECT current_date - INTEGER '1' AS yesterday_date;
मान लें कि आज 2020-09-24 है, तो परिणाम इस प्रकार है:
कल_दिनांक |
---|
2020-09-23 |
चर्चा:
कल की तारीख पाने के लिए, आपको आज की तारीख से एक दिन घटाना होगा। current_date
का उपयोग करें आज की तारीख पाने के लिए। ध्यान दें कि current_date
. के अंत में आपको कोष्ठक की आवश्यकता नहीं है समारोह। PostgreSQL में, आप INTEGER
. का उपयोग करके दिनों की संख्या घटा या जोड़ सकते हैं खोजशब्द। यहाँ, चूँकि आपको एक दिन घटाना है, आप - INTEGER '1'
. का प्रयोग करें कल की तारीख पाने के लिए। ध्यान दें कि इस गणना के परिणाम में अभी भी कॉलम प्रकार है date
.
समाधान 2:
SELECT (current_date - INTERVAL '1 day')::date AS yesterday_date;
मान लें कि आज 2020-09-24 है, तो परिणाम इस प्रकार है:
कल_दिनांक |
---|
2020-09-23 |
चर्चा:
current_date
. का उपयोग करके आज की तारीख पाएं . आपको वर्तमान तिथि से एक दिन के अंतराल को घटाना होगा। ऐसा करने के लिए, INTERVAL
. का उपयोग करें कीवर्ड, जो आपके इच्छित किसी भी समय/तारीख अंतराल को बनाता है (यहां, '1 day'
, जो PostgreSQL में 24 घंटे के समान है)। INTERVAL '1 day'
घटाना आज की तारीख से एक कॉलम को टाइमस्टैम्प के रूप में स्वरूपित किया जाएगा, इसलिए आपको इसे date
पर डालना होगा . PostgreSQL में ऐसा करने का सबसे तेज़ तरीका है ::date
पूरी अभिव्यक्ति के लिए (कोष्ठक में अभिव्यक्ति संलग्न करना याद रखें)।
बेशक, आप किसी भी समय अंतराल से उतनी ही आसानी से वापस जा सकते हैं। यहां एक उदाहरण दिया गया है:
SELECT (current_date - INTERVAL '3 months 10 days')::date;
एक INTERVAL
जोड़ा . भी जा सकता है एक तारीख को। तो, अगर आप कल की तारीख प्राप्त करना चाहते हैं तो यह एक तरीका है:
SELECT (current_date + INTERVAL '1 day')::date AS tomorrow_date;