Oracle डाटाबेस में, LOCALTIMESTAMP()
फ़ंक्शन डेटा प्रकार के मान में सत्र समय क्षेत्र में वर्तमान दिनांक और समय देता है TIMESTAMP
.
यह CURRENT_TIMESTAMP
के समान है , सिवाय इसके कि CURRENT_TIMESTAMP
एक TIMESTAMP WITH TIME ZONE
देता है मूल्य।
सिंटैक्स
वाक्य रचना इस प्रकार है:
LOCALTIMESTAMP [ (timestamp_precision) ]
जहां वैकल्पिक timestamp_precision
तर्क लौटाए गए समय मान की आंशिक दूसरी सटीकता निर्दिष्ट करता है।
बिना किसी तर्क के फ़ंक्शन को कॉल करते समय, कोष्ठक को छोड़ा जाना चाहिए।
उदाहरण
सटीकता निर्दिष्ट किए बिना फ़ंक्शन को कॉल करने का एक उदाहरण यहां दिया गया है:
SELECT LOCALTIMESTAMP
FROM DUAL;
परिणाम:
07/AUG/21 08:49:50.026443000 AM
यह उदाहरण मेरे सिस्टम के NLS_DATE_FORMAT
के मान के आधार पर एक प्रारूप में दिनांक प्रदर्शित करता है पैरामीटर (जो वर्तमान में DD/MON/RR
है) ) यह पैरामीटर NLS_TERRITORY
. से अपना मान प्राप्त करता है पैरामीटर (जिसमें से मेरा AUSTRALIA
है )
हमारे पास इन मापदंडों को बदलने का विकल्प है (उदाहरण के लिए, अपने Oracle सत्र में दिनांक स्वरूप कैसे बदलें देखें)।
वैकल्पिक रूप से, हम TO_CHAR()
. जैसे फ़ंक्शन का उपयोग कर सकते हैं परिणाम को एक अलग प्रारूप में वापस करने के लिए।
उदाहरण:
SELECT TO_CHAR(LOCALTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')
FROM DUAL;
परिणाम:
2021-08-07 08:50:20
परिशुद्धता
यहां एक उदाहरण दिया गया है जो सटीकता को निर्दिष्ट करता है। यह लौटाए गए समय मान की आंशिक दूसरी सटीकता निर्धारित करता है।
SELECT LOCALTIMESTAMP(9)
FROM DUAL;
परिणाम:
07/AUG/21 08:50:47.203717000 AM
ध्यान दें कि सटीक तर्क 0 और 9 के बीच की कोई संख्या होनी चाहिए।
जब हम किसी मान को उस सीमा से बाहर पास करते हैं तो क्या होता है:
SELECT LOCALTIMESTAMP(10)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LOCALTIMESTAMP(10) FROM DUAL Error at Command Line : 1 Column : 23 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.
परिशुद्धता निर्दिष्ट किए बिना कोष्ठकों को छोड़ना
जैसा कि बताया गया है, LOCALTIMESTAMP
पर कॉल करते समय precision
. पास किए बिना तर्क, आपको कोष्ठकों को छोड़ना होगा।
यहां बताया गया है कि जब हम सटीक निर्दिष्ट किए बिना कोष्ठक शामिल करते हैं तो क्या होता है:
SELECT LOCALTIMESTAMP()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LOCALTIMESTAMP() FROM DUAL Error at Command Line : 1 Column : 23 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.
हमें पिछले उदाहरण की तरह ही त्रुटि मिलती है। Oracle डेटाबेस 0 और 9 के बीच एक सटीक तर्क की तलाश में है, लेकिन हमने कोई भी पारित नहीं किया।
शून्य तर्क
null
. पास करते समय भी यही त्रुटि होती है :
SELECT LOCALTIMESTAMP(null)
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT LOCALTIMESTAMP(null) FROM DUAL Error at Command Line : 1 Column : 23 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.