समस्या:
आप PostgreSQL डेटाबेस में वर्तमान दिनांक और समय प्राप्त करना चाहते हैं। आपको समय क्षेत्र ऑफ़सेट की आवश्यकता नहीं है।
समाधान:
हम फ़ंक्शन का उपयोग करेंगे LOCALTIMESTAMP
बिना किसी समय क्षेत्र की जानकारी के वर्तमान दिनांक और समय प्राप्त करने के लिए:
SELECT LOCALTIMESTAMP ;
ये रहा क्वेरी का नतीजा:
2019-09-24 20:10:58.977914
चर्चा:
PostgreSQL फ़ंक्शन LOCALTIMESTAMP
टाइमस्टैम्प . के रूप में वर्तमान दिनांक और समय (पोस्टग्रेएसक्यूएल के उस इंस्टेंस को चलाने वाली मशीन का) लौटाता है मूल्य। यह 'YYYY-MM-DD hh:mm:ss.nnnnnnn का उपयोग करता है ' प्रारूप, जहां:
- YYYY 4 अंकों का वर्ष है।
- एमएम दो अंकों का महीना है।
- डीडी दो अंकों का दिन है।
- हह दो अंकों का घंटा है।
- मिमी दो अंकों का मिनट है।
- ss दो अंकों का सेकंड है।
- nnnnnn भिन्नात्मक सेकंड हैं (शून्य से 6-अंकीय परिशुद्धता तक)।
जैसा कि आपने देखा, इस फ़ंक्शन में कोई कोष्ठक नहीं है। हालांकि, यदि आप विशिष्ट सटीकता के साथ दिनांक और समय प्रदर्शित करना चाहते हैं, तो कोष्ठक में तर्क के रूप में 0 से 6 तक का पूर्णांक रखें। यह आपके वांछित संख्या में भिन्नात्मक सेकंड के साथ दिनांक और समय लौटाएगा। उदाहरण के लिए, LOCALTIMESTAMP(1)
केवल एक भिन्नात्मक सेकंड (अर्थात दशमलव के बाद एक स्थान) को दर्शाता है; 2 दो स्थान लौटाएगा, आदि। डिफ़ॉल्ट सटीकता 6 है, जो कि भिन्नात्मक सेकंड की अधिकतम संख्या भी है; यदि आप कोष्ठक का बिल्कुल भी उपयोग नहीं करते हैं तो आपको यही मिलता है। अगला उदाहरण देखें:
SELECT LOCALTIMESTAMP(0) ;
ये रहा क्वेरी का नतीजा:
2019-09-24 20:10:58
इस परिणाम में भिन्नात्मक सेकंड नहीं हैं क्योंकि हम 0 को तर्क के रूप में रखते हैं।
यह फ़ंक्शन उस समय को लौटाता है जिस पर वर्तमान लेनदेन शुरू हुआ था। LOCALTIMESTAMP
. के बीच का अंतर और CURRENT_TIMESTAMP
क्या वह LOCALTIMESTAMP
. है समय क्षेत्र ऑफ़सेट शामिल नहीं है।