समस्या:
आप PostgreSQL डेटाबेस में वर्तमान समय प्राप्त करना चाहते हैं। आप नहीं चाहते कि समय क्षेत्र ऑफसेट हो।
समाधान:
हम फ़ंक्शन का उपयोग करेंगे LOCALTIME
समय क्षेत्र ऑफसेट के बिना वर्तमान समय प्राप्त करने के लिए।
SELECT LOCALTIME;
ये रहा क्वेरी का नतीजा:
22:15:51.987914
चर्चा:
PostgreSQL फ़ंक्शन LOCALTIME
PostgreSQL चलाने वाली मशीन पर वर्तमान समय लौटाता है। यह इसे 'hh:mm:ss.nnnnnn में समय डेटा प्रकार के रूप में लौटाता है ' प्रारूप। इस प्रारूप में:
- हह दो अंकों का घंटा है।
- मिमी दो अंकों का मिनट है।
- ss दो अंकों का सेकंड है।
- nnnnnn भिन्नात्मक सेकंड हैं (शून्य से 6-अंकीय परिशुद्धता तक)।
जैसा कि आपने देखा, इस फ़ंक्शन में कोई कोष्ठक नहीं है। हालांकि, यदि आप एक विशिष्ट परिशुद्धता के साथ समय प्रदर्शित करना चाहते हैं, तो तर्क के रूप में 0 से 6 के पूर्णांक वाले कोष्ठक का उपयोग करें। यह आपके वांछित संख्या में भिन्नात्मक सेकंड के साथ समय लौटाएगा। उदाहरण के लिए, LOCALTIME(1)
केवल एक भिन्नात्मक सेकंड (अर्थात दशमलव के बाद एक स्थान) को दर्शाता है; 2 दो स्थान आदि लौटाएगा। डिफ़ॉल्ट मान (कोई कोष्ठक या खाली कोष्ठक नहीं) छह है, जो कि भिन्नात्मक सेकंड की अधिकतम संख्या भी है। अगला उदाहरण देखें:
SELECT LOCALTIME(0) ;
ये रहा क्वेरी का नतीजा:
21:12:06
इस परिणाम में भिन्नात्मक सेकंड नहीं हैं क्योंकि हम 0 को तर्क के रूप में रखते हैं।
LOCALTIME
वह समय लौटाता है जिस पर वर्तमान लेनदेन शुरू होता है। LOCALTIME
. के बीच का अंतर और CURRENT_TIME
यह है कि LOCALTIME में समय क्षेत्र ऑफ़सेट शामिल नहीं है।