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

Oracle में LOCALTIMESTAMP () फ़ंक्शन

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.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL डेवलपर में एक नया डेटाबेस और नया कनेक्शन बनाना

  2. Oracle IF कंडीशन उदाहरण

  3. Oracle EBS में पैचिंग समय को कम करने के लिए डिस्ट्रीब्यूटेड AD का उपयोग कैसे करें

  4. ODP.NET कनेक्शन पूलिंग:कैसे बताएं कि क्या कनेक्शन का उपयोग किया गया है

  5. सभी उपयोगकर्ता तालिकाओं को कैसे छोड़ें?